You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by Udo Schnurpfeil <ud...@schnurpfeil.de> on 2011/06/08 10:23:37 UTC

OWB with Java 1.5 and Servlet 2.4

Hi,

I would like to use OWB on WebSphere 6.1 (similar to Tomcat 5.5) which 
requires Java 1.5 and supports Servlet API 2.4.
OWB needs Java 1.6 and Servlet API 2.5.

Part 1: Java 1.6

After a close look into the sources I see, there is one basic dependency 
to Java 1.6: java.util.ServiceLoader
To solve this problem, I've added a utility class in my local copy and 
delegate calls to ServiceLoader to this utility.

The utility class itself calls ServiceLoader, if the class is available 
(Java 1.6) or uses com.googlecode.bspi.ServiceLoader (Java 1.5).
So the application needs one new dependency (only in the case of Java 1.5).

I've also changed the maven-compiler-plugin to generate Java 1.5 
compatible byte code.

Jira: https://issues.apache.org/jira/browse/OWB-582

Part 2: Servet API 2.5

Some classes uses the new function ServletContext.getContextPath() for 
logging and giving a thread a useful name.

Here, I also added a utility class, and call 
servletContext.getServletContextName() in the case of Servlet API 2.4

Jira: https://issues.apache.org/jira/browse/OWB-583

Conclusion:

There are not many dependencies to the new APIs and there are simple 
workarounds. With this changes (and a similar patch for the 
ServiceLoader in CODI) I'm able to run OWB on WebSpere 6.1 and Tomcat 
5.5 with Java 1.5.

Any suggestions?

Regards,

Udo


Re: OWB with Java 1.5 and Servlet 2.4

Posted by Gerhard Petracek <ge...@gmail.com>.
hi mark,

i know (if you mean OpenWebBeansPlugin) - we don't need that one here.
i had the PropertyLoader in mind.

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2011/6/8 Mark Struberg <st...@yahoo.de>

> problem is that our plugin concept is currently based on
> java.util.ServiceLoader :)
>
> This is somehow similar to David Jencks initial ConfigService problem I
> think.
>
> LieGrue,
> strub
>
> --- On Wed, 6/8/11, Gerhard Petracek <ge...@gmail.com> wrote:
>
> > From: Gerhard Petracek <ge...@gmail.com>
> > Subject: Re: OWB with Java 1.5 and Servlet 2.4
> > To: dev@openwebbeans.apache.org
> > Date: Wednesday, June 8, 2011, 1:05 PM
> > hi udo,
> >
> > #2-#4 are ok for me.
> > +1 for #3
> >
> > we have a plug-in concept (which is great) and we shouldn't
> > start with
> > introducing exceptions. we can host such a plug-in for java
> > 1.5 at
> > apache-extras and we can release it in an apache-extras
> > maven
> > repository.
> >
> > furthermore, most google code projects don't have a maven
> > repository
> > and we would have source-code which isn't testable because
> > the
> > ci-server wouldn't find the dependency and users have to
> > check out the
> > external project and have to build it manually. moreover,
> > if the
> > repository disappears, we also have a problem.
> >
> > regards,
> > gerhard
> >
> > 2011/6/8, Udo Schnurpfeil <ud...@schnurpfeil.de>:
> > > I like a solution, when the same artifact (of app or
> > lib) will work in
> > > both environments.
> > >
> > > Regards,
> > >
> > > Udo
> > >
> > >
> > > Am 08.06.11 13:28, schrieb Arne Limburg:
> > >> +1 for the Java-5-Webbeans-Plugin
> > >> --
> > >>
> > >> Arne Limburg - Enterprise Developer
> > >> open knowledge GmbH, Oldenburg
> > >> Bismarckstraße 13, 26122 Oldenburg
> > >> Mobil: +49 (0) 151 108 22 942
> > >> Tel: +49 (0) 441 - 4082-0
> > >> Fax: +49 (0) 441 - 4082-111
> > >> arne.limburg@openknowledge.de
> > >> http://www.openknowledge.de
> > >>
> > >> Registergericht: Amtsgericht Oldenburg, HRB 4670
> > >> Geschäftsführer: Lars Röwekamp, Jens Schumann
> > >> ________________________________________
> > >> Von: Udo Schnurpfeil [udo@schnurpfeil.de]
> > >> Gesendet: Mittwoch, 8. Juni 2011 13:23
> > >> An: dev@openwebbeans.apache.org
> > >> Betreff: Re: OWB with Java 1.5 and Servlet 2.4
> > >>
> > >> Hi Gerhard,
> > >>
> > >> I don't know what the problem is, with the direct
> > dependency. I've
> > >> marked it as optional in the pom.xml. A Java 1.6
> > application will run
> > >> without changes (and not having googlecode in the
> > jar). But I can
> > >> understand, that there are reasons on principal to
> > have no dependencies
> > >> to other project.
> > >>
> > >> Did I understand you correctly in your first
> > solution approach?
> > >> Compile the Sources of java.util.ServiceLoader
> > with Java 1.5 and put it
> > >> into a single JAR File.
> > >> This might be also not very nice, as a general
> > solution: OWB works with
> > >> Java 1.5, when you compile some JDK classes.
> > >>
> > >> Sadly I don't know the plugin mechanism of OWB, so
> > I can't write an easy
> > >> patch for that solution.
> > >>
> > >> An other solution might be implementing a
> > >> org.apache.webbeans.util.ServiceLoader and using
> > this instead of the
> > >> com.googlecode one. This might be the cleanest
> > solution.
> > >>
> > >> So we have 4 possibilities:
> > >>     1) googlecode
> > >>     2) jdk 1.6 code self
> > compiled in the project
> > >>     3) plugin
> > >>     4) writing own
> > service-loader
> > >>
> > >> Regards,
> > >>
> > >> Udo
> > >>
> > >>
> > >> Am 08.06.11 11:25, schrieb Gerhard Petracek:
> > >>> hi udo,
> > >>>
> > >>> @OWB-582:
> > >>> using com.googlecode.* directly in owb is imo
> > no good idea.
> > >>> since the service-loader isn't available in a
> > java 1.5 environment,
> > >>> you can repackage the service-loader in your
> > project. so we don't have
> > >>> to change owb itself - you just have an
> > additional jar in your
> > >>> project. if there is any issue with such an
> > approach, we could create
> > >>> an owb-plugin for it and you write your own
> > plugin-implementation.
> > >>>
> > >>> @OWB-583:
> > >>> looks fine to me (just had a quick look).
> > >>>
> > >>> regards,
> > >>> gerhard
> > >>>
> > >>> 2011/6/8, Udo Schnurpfeil<ud...@schnurpfeil.de>:
> > >>>> Hi,
> > >>>>
> > >>>> I would like to use OWB on WebSphere 6.1
> > (similar to Tomcat 5.5) which
> > >>>> requires Java 1.5 and supports Servlet API
> > 2.4.
> > >>>> OWB needs Java 1.6 and Servlet API 2.5.
> > >>>>
> > >>>> Part 1: Java 1.6
> > >>>>
> > >>>> After a close look into the sources I see,
> > there is one basic dependency
> > >>>> to Java 1.6: java.util.ServiceLoader
> > >>>> To solve this problem, I've added a
> > utility class in my local copy and
> > >>>> delegate calls to ServiceLoader to this
> > utility.
> > >>>>
> > >>>> The utility class itself calls
> > ServiceLoader, if the class is available
> > >>>> (Java 1.6) or uses
> > com.googlecode.bspi.ServiceLoader (Java 1.5).
> > >>>> So the application needs one new
> > dependency (only in the case of Java
> > >>>> 1.5).
> > >>>>
> > >>>> I've also changed the
> > maven-compiler-plugin to generate Java 1.5
> > >>>> compatible byte code.
> > >>>>
> > >>>> Jira: https://issues.apache.org/jira/browse/OWB-582
> > >>>>
> > >>>> Part 2: Servet API 2.5
> > >>>>
> > >>>> Some classes uses the new function
> > ServletContext.getContextPath() for
> > >>>> logging and giving a thread a useful
> > name.
> > >>>>
> > >>>> Here, I also added a utility class, and
> > call
> > >>>> servletContext.getServletContextName() in
> > the case of Servlet API 2.4
> > >>>>
> > >>>> Jira: https://issues.apache.org/jira/browse/OWB-583
> > >>>>
> > >>>> Conclusion:
> > >>>>
> > >>>> There are not many dependencies to the new
> > APIs and there are simple
> > >>>> workarounds. With this changes (and a
> > similar patch for the
> > >>>> ServiceLoader in CODI) I'm able to run OWB
> > on WebSpere 6.1 and Tomcat
> > >>>> 5.5 with Java 1.5.
> > >>>>
> > >>>> Any suggestions?
> > >>>>
> > >>>> Regards,
> > >>>>
> > >>>> Udo
> > >>>>
> > >>>>
> > >
> >
> >
> > --
> >
> > http://www.irian.at
> >
> > Your JSF powerhouse -
> > JSF Consulting, Development and
> > Courses in English and German
> >
> > Professional Support for Apache MyFaces
> >
>

Re: OWB with Java 1.5 and Servlet 2.4

Posted by Mark Struberg <st...@yahoo.de>.
problem is that our plugin concept is currently based on java.util.ServiceLoader :)

This is somehow similar to David Jencks initial ConfigService problem I think.

LieGrue,
strub

--- On Wed, 6/8/11, Gerhard Petracek <ge...@gmail.com> wrote:

> From: Gerhard Petracek <ge...@gmail.com>
> Subject: Re: OWB with Java 1.5 and Servlet 2.4
> To: dev@openwebbeans.apache.org
> Date: Wednesday, June 8, 2011, 1:05 PM
> hi udo,
> 
> #2-#4 are ok for me.
> +1 for #3
> 
> we have a plug-in concept (which is great) and we shouldn't
> start with
> introducing exceptions. we can host such a plug-in for java
> 1.5 at
> apache-extras and we can release it in an apache-extras
> maven
> repository.
> 
> furthermore, most google code projects don't have a maven
> repository
> and we would have source-code which isn't testable because
> the
> ci-server wouldn't find the dependency and users have to
> check out the
> external project and have to build it manually. moreover,
> if the
> repository disappears, we also have a problem.
> 
> regards,
> gerhard
> 
> 2011/6/8, Udo Schnurpfeil <ud...@schnurpfeil.de>:
> > I like a solution, when the same artifact (of app or
> lib) will work in
> > both environments.
> >
> > Regards,
> >
> > Udo
> >
> >
> > Am 08.06.11 13:28, schrieb Arne Limburg:
> >> +1 for the Java-5-Webbeans-Plugin
> >> --
> >>
> >> Arne Limburg - Enterprise Developer
> >> open knowledge GmbH, Oldenburg
> >> Bismarckstraße 13, 26122 Oldenburg
> >> Mobil: +49 (0) 151 108 22 942
> >> Tel: +49 (0) 441 - 4082-0
> >> Fax: +49 (0) 441 - 4082-111
> >> arne.limburg@openknowledge.de
> >> http://www.openknowledge.de
> >>
> >> Registergericht: Amtsgericht Oldenburg, HRB 4670
> >> Geschäftsführer: Lars Röwekamp, Jens Schumann
> >> ________________________________________
> >> Von: Udo Schnurpfeil [udo@schnurpfeil.de]
> >> Gesendet: Mittwoch, 8. Juni 2011 13:23
> >> An: dev@openwebbeans.apache.org
> >> Betreff: Re: OWB with Java 1.5 and Servlet 2.4
> >>
> >> Hi Gerhard,
> >>
> >> I don't know what the problem is, with the direct
> dependency. I've
> >> marked it as optional in the pom.xml. A Java 1.6
> application will run
> >> without changes (and not having googlecode in the
> jar). But I can
> >> understand, that there are reasons on principal to
> have no dependencies
> >> to other project.
> >>
> >> Did I understand you correctly in your first
> solution approach?
> >> Compile the Sources of java.util.ServiceLoader
> with Java 1.5 and put it
> >> into a single JAR File.
> >> This might be also not very nice, as a general
> solution: OWB works with
> >> Java 1.5, when you compile some JDK classes.
> >>
> >> Sadly I don't know the plugin mechanism of OWB, so
> I can't write an easy
> >> patch for that solution.
> >>
> >> An other solution might be implementing a
> >> org.apache.webbeans.util.ServiceLoader and using
> this instead of the
> >> com.googlecode one. This might be the cleanest
> solution.
> >>
> >> So we have 4 possibilities:
> >>     1) googlecode
> >>     2) jdk 1.6 code self
> compiled in the project
> >>     3) plugin
> >>     4) writing own
> service-loader
> >>
> >> Regards,
> >>
> >> Udo
> >>
> >>
> >> Am 08.06.11 11:25, schrieb Gerhard Petracek:
> >>> hi udo,
> >>>
> >>> @OWB-582:
> >>> using com.googlecode.* directly in owb is imo
> no good idea.
> >>> since the service-loader isn't available in a
> java 1.5 environment,
> >>> you can repackage the service-loader in your
> project. so we don't have
> >>> to change owb itself - you just have an
> additional jar in your
> >>> project. if there is any issue with such an
> approach, we could create
> >>> an owb-plugin for it and you write your own
> plugin-implementation.
> >>>
> >>> @OWB-583:
> >>> looks fine to me (just had a quick look).
> >>>
> >>> regards,
> >>> gerhard
> >>>
> >>> 2011/6/8, Udo Schnurpfeil<ud...@schnurpfeil.de>:
> >>>> Hi,
> >>>>
> >>>> I would like to use OWB on WebSphere 6.1
> (similar to Tomcat 5.5) which
> >>>> requires Java 1.5 and supports Servlet API
> 2.4.
> >>>> OWB needs Java 1.6 and Servlet API 2.5.
> >>>>
> >>>> Part 1: Java 1.6
> >>>>
> >>>> After a close look into the sources I see,
> there is one basic dependency
> >>>> to Java 1.6: java.util.ServiceLoader
> >>>> To solve this problem, I've added a
> utility class in my local copy and
> >>>> delegate calls to ServiceLoader to this
> utility.
> >>>>
> >>>> The utility class itself calls
> ServiceLoader, if the class is available
> >>>> (Java 1.6) or uses
> com.googlecode.bspi.ServiceLoader (Java 1.5).
> >>>> So the application needs one new
> dependency (only in the case of Java
> >>>> 1.5).
> >>>>
> >>>> I've also changed the
> maven-compiler-plugin to generate Java 1.5
> >>>> compatible byte code.
> >>>>
> >>>> Jira: https://issues.apache.org/jira/browse/OWB-582
> >>>>
> >>>> Part 2: Servet API 2.5
> >>>>
> >>>> Some classes uses the new function
> ServletContext.getContextPath() for
> >>>> logging and giving a thread a useful
> name.
> >>>>
> >>>> Here, I also added a utility class, and
> call
> >>>> servletContext.getServletContextName() in
> the case of Servlet API 2.4
> >>>>
> >>>> Jira: https://issues.apache.org/jira/browse/OWB-583
> >>>>
> >>>> Conclusion:
> >>>>
> >>>> There are not many dependencies to the new
> APIs and there are simple
> >>>> workarounds. With this changes (and a
> similar patch for the
> >>>> ServiceLoader in CODI) I'm able to run OWB
> on WebSpere 6.1 and Tomcat
> >>>> 5.5 with Java 1.5.
> >>>>
> >>>> Any suggestions?
> >>>>
> >>>> Regards,
> >>>>
> >>>> Udo
> >>>>
> >>>>
> >
> 
> 
> -- 
> 
> http://www.irian.at
> 
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
> 
> Professional Support for Apache MyFaces
> 

Re: OWB with Java 1.5 and Servlet 2.4

Posted by Gerhard Petracek <ge...@gmail.com>.
hi udo,

#2-#4 are ok for me.
+1 for #3

we have a plug-in concept (which is great) and we shouldn't start with
introducing exceptions. we can host such a plug-in for java 1.5 at
apache-extras and we can release it in an apache-extras maven
repository.

furthermore, most google code projects don't have a maven repository
and we would have source-code which isn't testable because the
ci-server wouldn't find the dependency and users have to check out the
external project and have to build it manually. moreover, if the
repository disappears, we also have a problem.

regards,
gerhard

2011/6/8, Udo Schnurpfeil <ud...@schnurpfeil.de>:
> I like a solution, when the same artifact (of app or lib) will work in
> both environments.
>
> Regards,
>
> Udo
>
>
> Am 08.06.11 13:28, schrieb Arne Limburg:
>> +1 for the Java-5-Webbeans-Plugin
>> --
>>
>> Arne Limburg - Enterprise Developer
>> open knowledge GmbH, Oldenburg
>> Bismarckstraße 13, 26122 Oldenburg
>> Mobil: +49 (0) 151 108 22 942
>> Tel: +49 (0) 441 - 4082-0
>> Fax: +49 (0) 441 - 4082-111
>> arne.limburg@openknowledge.de
>> http://www.openknowledge.de
>>
>> Registergericht: Amtsgericht Oldenburg, HRB 4670
>> Geschäftsführer: Lars Röwekamp, Jens Schumann
>> ________________________________________
>> Von: Udo Schnurpfeil [udo@schnurpfeil.de]
>> Gesendet: Mittwoch, 8. Juni 2011 13:23
>> An: dev@openwebbeans.apache.org
>> Betreff: Re: OWB with Java 1.5 and Servlet 2.4
>>
>> Hi Gerhard,
>>
>> I don't know what the problem is, with the direct dependency. I've
>> marked it as optional in the pom.xml. A Java 1.6 application will run
>> without changes (and not having googlecode in the jar). But I can
>> understand, that there are reasons on principal to have no dependencies
>> to other project.
>>
>> Did I understand you correctly in your first solution approach?
>> Compile the Sources of java.util.ServiceLoader with Java 1.5 and put it
>> into a single JAR File.
>> This might be also not very nice, as a general solution: OWB works with
>> Java 1.5, when you compile some JDK classes.
>>
>> Sadly I don't know the plugin mechanism of OWB, so I can't write an easy
>> patch for that solution.
>>
>> An other solution might be implementing a
>> org.apache.webbeans.util.ServiceLoader and using this instead of the
>> com.googlecode one. This might be the cleanest solution.
>>
>> So we have 4 possibilities:
>>     1) googlecode
>>     2) jdk 1.6 code self compiled in the project
>>     3) plugin
>>     4) writing own service-loader
>>
>> Regards,
>>
>> Udo
>>
>>
>> Am 08.06.11 11:25, schrieb Gerhard Petracek:
>>> hi udo,
>>>
>>> @OWB-582:
>>> using com.googlecode.* directly in owb is imo no good idea.
>>> since the service-loader isn't available in a java 1.5 environment,
>>> you can repackage the service-loader in your project. so we don't have
>>> to change owb itself - you just have an additional jar in your
>>> project. if there is any issue with such an approach, we could create
>>> an owb-plugin for it and you write your own plugin-implementation.
>>>
>>> @OWB-583:
>>> looks fine to me (just had a quick look).
>>>
>>> regards,
>>> gerhard
>>>
>>> 2011/6/8, Udo Schnurpfeil<ud...@schnurpfeil.de>:
>>>> Hi,
>>>>
>>>> I would like to use OWB on WebSphere 6.1 (similar to Tomcat 5.5) which
>>>> requires Java 1.5 and supports Servlet API 2.4.
>>>> OWB needs Java 1.6 and Servlet API 2.5.
>>>>
>>>> Part 1: Java 1.6
>>>>
>>>> After a close look into the sources I see, there is one basic dependency
>>>> to Java 1.6: java.util.ServiceLoader
>>>> To solve this problem, I've added a utility class in my local copy and
>>>> delegate calls to ServiceLoader to this utility.
>>>>
>>>> The utility class itself calls ServiceLoader, if the class is available
>>>> (Java 1.6) or uses com.googlecode.bspi.ServiceLoader (Java 1.5).
>>>> So the application needs one new dependency (only in the case of Java
>>>> 1.5).
>>>>
>>>> I've also changed the maven-compiler-plugin to generate Java 1.5
>>>> compatible byte code.
>>>>
>>>> Jira: https://issues.apache.org/jira/browse/OWB-582
>>>>
>>>> Part 2: Servet API 2.5
>>>>
>>>> Some classes uses the new function ServletContext.getContextPath() for
>>>> logging and giving a thread a useful name.
>>>>
>>>> Here, I also added a utility class, and call
>>>> servletContext.getServletContextName() in the case of Servlet API 2.4
>>>>
>>>> Jira: https://issues.apache.org/jira/browse/OWB-583
>>>>
>>>> Conclusion:
>>>>
>>>> There are not many dependencies to the new APIs and there are simple
>>>> workarounds. With this changes (and a similar patch for the
>>>> ServiceLoader in CODI) I'm able to run OWB on WebSpere 6.1 and Tomcat
>>>> 5.5 with Java 1.5.
>>>>
>>>> Any suggestions?
>>>>
>>>> Regards,
>>>>
>>>> Udo
>>>>
>>>>
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Re: OWB with Java 1.5 and Servlet 2.4

Posted by Udo Schnurpfeil <ud...@schnurpfeil.de>.
I like a solution, when the same artifact (of app or lib) will work in 
both environments.

Regards,

Udo


Am 08.06.11 13:28, schrieb Arne Limburg:
> +1 for the Java-5-Webbeans-Plugin
> --
>
> Arne Limburg - Enterprise Developer
> open knowledge GmbH, Oldenburg
> Bismarckstraße 13, 26122 Oldenburg
> Mobil: +49 (0) 151 108 22 942
> Tel: +49 (0) 441 - 4082-0
> Fax: +49 (0) 441 - 4082-111
> arne.limburg@openknowledge.de
> http://www.openknowledge.de
>
> Registergericht: Amtsgericht Oldenburg, HRB 4670
> Geschäftsführer: Lars Röwekamp, Jens Schumann
> ________________________________________
> Von: Udo Schnurpfeil [udo@schnurpfeil.de]
> Gesendet: Mittwoch, 8. Juni 2011 13:23
> An: dev@openwebbeans.apache.org
> Betreff: Re: OWB with Java 1.5 and Servlet 2.4
>
> Hi Gerhard,
>
> I don't know what the problem is, with the direct dependency. I've
> marked it as optional in the pom.xml. A Java 1.6 application will run
> without changes (and not having googlecode in the jar). But I can
> understand, that there are reasons on principal to have no dependencies
> to other project.
>
> Did I understand you correctly in your first solution approach?
> Compile the Sources of java.util.ServiceLoader with Java 1.5 and put it
> into a single JAR File.
> This might be also not very nice, as a general solution: OWB works with
> Java 1.5, when you compile some JDK classes.
>
> Sadly I don't know the plugin mechanism of OWB, so I can't write an easy
> patch for that solution.
>
> An other solution might be implementing a
> org.apache.webbeans.util.ServiceLoader and using this instead of the
> com.googlecode one. This might be the cleanest solution.
>
> So we have 4 possibilities:
>     1) googlecode
>     2) jdk 1.6 code self compiled in the project
>     3) plugin
>     4) writing own service-loader
>
> Regards,
>
> Udo
>
>
> Am 08.06.11 11:25, schrieb Gerhard Petracek:
>> hi udo,
>>
>> @OWB-582:
>> using com.googlecode.* directly in owb is imo no good idea.
>> since the service-loader isn't available in a java 1.5 environment,
>> you can repackage the service-loader in your project. so we don't have
>> to change owb itself - you just have an additional jar in your
>> project. if there is any issue with such an approach, we could create
>> an owb-plugin for it and you write your own plugin-implementation.
>>
>> @OWB-583:
>> looks fine to me (just had a quick look).
>>
>> regards,
>> gerhard
>>
>> 2011/6/8, Udo Schnurpfeil<ud...@schnurpfeil.de>:
>>> Hi,
>>>
>>> I would like to use OWB on WebSphere 6.1 (similar to Tomcat 5.5) which
>>> requires Java 1.5 and supports Servlet API 2.4.
>>> OWB needs Java 1.6 and Servlet API 2.5.
>>>
>>> Part 1: Java 1.6
>>>
>>> After a close look into the sources I see, there is one basic dependency
>>> to Java 1.6: java.util.ServiceLoader
>>> To solve this problem, I've added a utility class in my local copy and
>>> delegate calls to ServiceLoader to this utility.
>>>
>>> The utility class itself calls ServiceLoader, if the class is available
>>> (Java 1.6) or uses com.googlecode.bspi.ServiceLoader (Java 1.5).
>>> So the application needs one new dependency (only in the case of Java 1.5).
>>>
>>> I've also changed the maven-compiler-plugin to generate Java 1.5
>>> compatible byte code.
>>>
>>> Jira: https://issues.apache.org/jira/browse/OWB-582
>>>
>>> Part 2: Servet API 2.5
>>>
>>> Some classes uses the new function ServletContext.getContextPath() for
>>> logging and giving a thread a useful name.
>>>
>>> Here, I also added a utility class, and call
>>> servletContext.getServletContextName() in the case of Servlet API 2.4
>>>
>>> Jira: https://issues.apache.org/jira/browse/OWB-583
>>>
>>> Conclusion:
>>>
>>> There are not many dependencies to the new APIs and there are simple
>>> workarounds. With this changes (and a similar patch for the
>>> ServiceLoader in CODI) I'm able to run OWB on WebSpere 6.1 and Tomcat
>>> 5.5 with Java 1.5.
>>>
>>> Any suggestions?
>>>
>>> Regards,
>>>
>>> Udo
>>>
>>>

AW: OWB with Java 1.5 and Servlet 2.4

Posted by Arne Limburg <ar...@openknowledge.de>.
+1 for the Java-5-Webbeans-Plugin
--

Arne Limburg - Enterprise Developer
open knowledge GmbH, Oldenburg
Bismarckstraße 13, 26122 Oldenburg
Mobil: +49 (0) 151 108 22 942
Tel: +49 (0) 441 - 4082-0
Fax: +49 (0) 441 - 4082-111
arne.limburg@openknowledge.de
http://www.openknowledge.de

Registergericht: Amtsgericht Oldenburg, HRB 4670
Geschäftsführer: Lars Röwekamp, Jens Schumann
________________________________________
Von: Udo Schnurpfeil [udo@schnurpfeil.de]
Gesendet: Mittwoch, 8. Juni 2011 13:23
An: dev@openwebbeans.apache.org
Betreff: Re: OWB with Java 1.5 and Servlet 2.4

Hi Gerhard,

I don't know what the problem is, with the direct dependency. I've
marked it as optional in the pom.xml. A Java 1.6 application will run
without changes (and not having googlecode in the jar). But I can
understand, that there are reasons on principal to have no dependencies
to other project.

Did I understand you correctly in your first solution approach?
Compile the Sources of java.util.ServiceLoader with Java 1.5 and put it
into a single JAR File.
This might be also not very nice, as a general solution: OWB works with
Java 1.5, when you compile some JDK classes.

Sadly I don't know the plugin mechanism of OWB, so I can't write an easy
patch for that solution.

An other solution might be implementing a
org.apache.webbeans.util.ServiceLoader and using this instead of the
com.googlecode one. This might be the cleanest solution.

So we have 4 possibilities:
   1) googlecode
   2) jdk 1.6 code self compiled in the project
   3) plugin
   4) writing own service-loader

Regards,

Udo


Am 08.06.11 11:25, schrieb Gerhard Petracek:
> hi udo,
>
> @OWB-582:
> using com.googlecode.* directly in owb is imo no good idea.
> since the service-loader isn't available in a java 1.5 environment,
> you can repackage the service-loader in your project. so we don't have
> to change owb itself - you just have an additional jar in your
> project. if there is any issue with such an approach, we could create
> an owb-plugin for it and you write your own plugin-implementation.
>
> @OWB-583:
> looks fine to me (just had a quick look).
>
> regards,
> gerhard
>
> 2011/6/8, Udo Schnurpfeil<ud...@schnurpfeil.de>:
>> Hi,
>>
>> I would like to use OWB on WebSphere 6.1 (similar to Tomcat 5.5) which
>> requires Java 1.5 and supports Servlet API 2.4.
>> OWB needs Java 1.6 and Servlet API 2.5.
>>
>> Part 1: Java 1.6
>>
>> After a close look into the sources I see, there is one basic dependency
>> to Java 1.6: java.util.ServiceLoader
>> To solve this problem, I've added a utility class in my local copy and
>> delegate calls to ServiceLoader to this utility.
>>
>> The utility class itself calls ServiceLoader, if the class is available
>> (Java 1.6) or uses com.googlecode.bspi.ServiceLoader (Java 1.5).
>> So the application needs one new dependency (only in the case of Java 1.5).
>>
>> I've also changed the maven-compiler-plugin to generate Java 1.5
>> compatible byte code.
>>
>> Jira: https://issues.apache.org/jira/browse/OWB-582
>>
>> Part 2: Servet API 2.5
>>
>> Some classes uses the new function ServletContext.getContextPath() for
>> logging and giving a thread a useful name.
>>
>> Here, I also added a utility class, and call
>> servletContext.getServletContextName() in the case of Servlet API 2.4
>>
>> Jira: https://issues.apache.org/jira/browse/OWB-583
>>
>> Conclusion:
>>
>> There are not many dependencies to the new APIs and there are simple
>> workarounds. With this changes (and a similar patch for the
>> ServiceLoader in CODI) I'm able to run OWB on WebSpere 6.1 and Tomcat
>> 5.5 with Java 1.5.
>>
>> Any suggestions?
>>
>> Regards,
>>
>> Udo
>>
>>
>

Re: OWB with Java 1.5 and Servlet 2.4

Posted by Udo Schnurpfeil <ud...@schnurpfeil.de>.
Hi Gerhard,

I don't know what the problem is, with the direct dependency. I've 
marked it as optional in the pom.xml. A Java 1.6 application will run 
without changes (and not having googlecode in the jar). But I can 
understand, that there are reasons on principal to have no dependencies 
to other project.

Did I understand you correctly in your first solution approach?
Compile the Sources of java.util.ServiceLoader with Java 1.5 and put it 
into a single JAR File.
This might be also not very nice, as a general solution: OWB works with 
Java 1.5, when you compile some JDK classes.

Sadly I don't know the plugin mechanism of OWB, so I can't write an easy 
patch for that solution.

An other solution might be implementing a 
org.apache.webbeans.util.ServiceLoader and using this instead of the 
com.googlecode one. This might be the cleanest solution.

So we have 4 possibilities:
   1) googlecode
   2) jdk 1.6 code self compiled in the project
   3) plugin
   4) writing own service-loader

Regards,

Udo


Am 08.06.11 11:25, schrieb Gerhard Petracek:
> hi udo,
>
> @OWB-582:
> using com.googlecode.* directly in owb is imo no good idea.
> since the service-loader isn't available in a java 1.5 environment,
> you can repackage the service-loader in your project. so we don't have
> to change owb itself - you just have an additional jar in your
> project. if there is any issue with such an approach, we could create
> an owb-plugin for it and you write your own plugin-implementation.
>
> @OWB-583:
> looks fine to me (just had a quick look).
>
> regards,
> gerhard
>
> 2011/6/8, Udo Schnurpfeil<ud...@schnurpfeil.de>:
>> Hi,
>>
>> I would like to use OWB on WebSphere 6.1 (similar to Tomcat 5.5) which
>> requires Java 1.5 and supports Servlet API 2.4.
>> OWB needs Java 1.6 and Servlet API 2.5.
>>
>> Part 1: Java 1.6
>>
>> After a close look into the sources I see, there is one basic dependency
>> to Java 1.6: java.util.ServiceLoader
>> To solve this problem, I've added a utility class in my local copy and
>> delegate calls to ServiceLoader to this utility.
>>
>> The utility class itself calls ServiceLoader, if the class is available
>> (Java 1.6) or uses com.googlecode.bspi.ServiceLoader (Java 1.5).
>> So the application needs one new dependency (only in the case of Java 1.5).
>>
>> I've also changed the maven-compiler-plugin to generate Java 1.5
>> compatible byte code.
>>
>> Jira: https://issues.apache.org/jira/browse/OWB-582
>>
>> Part 2: Servet API 2.5
>>
>> Some classes uses the new function ServletContext.getContextPath() for
>> logging and giving a thread a useful name.
>>
>> Here, I also added a utility class, and call
>> servletContext.getServletContextName() in the case of Servlet API 2.4
>>
>> Jira: https://issues.apache.org/jira/browse/OWB-583
>>
>> Conclusion:
>>
>> There are not many dependencies to the new APIs and there are simple
>> workarounds. With this changes (and a similar patch for the
>> ServiceLoader in CODI) I'm able to run OWB on WebSpere 6.1 and Tomcat
>> 5.5 with Java 1.5.
>>
>> Any suggestions?
>>
>> Regards,
>>
>> Udo
>>
>>
>

Re: OWB with Java 1.5 and Servlet 2.4

Posted by Gerhard Petracek <ge...@gmail.com>.
hi udo,

@OWB-582:
using com.googlecode.* directly in owb is imo no good idea.
since the service-loader isn't available in a java 1.5 environment,
you can repackage the service-loader in your project. so we don't have
to change owb itself - you just have an additional jar in your
project. if there is any issue with such an approach, we could create
an owb-plugin for it and you write your own plugin-implementation.

@OWB-583:
looks fine to me (just had a quick look).

regards,
gerhard

2011/6/8, Udo Schnurpfeil <ud...@schnurpfeil.de>:
> Hi,
>
> I would like to use OWB on WebSphere 6.1 (similar to Tomcat 5.5) which
> requires Java 1.5 and supports Servlet API 2.4.
> OWB needs Java 1.6 and Servlet API 2.5.
>
> Part 1: Java 1.6
>
> After a close look into the sources I see, there is one basic dependency
> to Java 1.6: java.util.ServiceLoader
> To solve this problem, I've added a utility class in my local copy and
> delegate calls to ServiceLoader to this utility.
>
> The utility class itself calls ServiceLoader, if the class is available
> (Java 1.6) or uses com.googlecode.bspi.ServiceLoader (Java 1.5).
> So the application needs one new dependency (only in the case of Java 1.5).
>
> I've also changed the maven-compiler-plugin to generate Java 1.5
> compatible byte code.
>
> Jira: https://issues.apache.org/jira/browse/OWB-582
>
> Part 2: Servet API 2.5
>
> Some classes uses the new function ServletContext.getContextPath() for
> logging and giving a thread a useful name.
>
> Here, I also added a utility class, and call
> servletContext.getServletContextName() in the case of Servlet API 2.4
>
> Jira: https://issues.apache.org/jira/browse/OWB-583
>
> Conclusion:
>
> There are not many dependencies to the new APIs and there are simple
> workarounds. With this changes (and a similar patch for the
> ServiceLoader in CODI) I'm able to run OWB on WebSpere 6.1 and Tomcat
> 5.5 with Java 1.5.
>
> Any suggestions?
>
> Regards,
>
> Udo
>
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Re: OWB with Java 1.5 and Servlet 2.4

Posted by Mark Struberg <st...@yahoo.de>.
Hi Udo!

This looks really good!
I'm currently at a customer, but I'll have a close look at it in the evening (or tomorrow).

LieGrue,
strub

--- On Wed, 6/8/11, Udo Schnurpfeil <ud...@schnurpfeil.de> wrote:

> From: Udo Schnurpfeil <ud...@schnurpfeil.de>
> Subject: OWB with Java 1.5 and Servlet 2.4
> To: dev@openwebbeans.apache.org
> Date: Wednesday, June 8, 2011, 8:23 AM
> Hi,
> 
> I would like to use OWB on WebSphere 6.1 (similar to Tomcat
> 5.5) which requires Java 1.5 and supports Servlet API 2.4.
> OWB needs Java 1.6 and Servlet API 2.5.
> 
> Part 1: Java 1.6
> 
> After a close look into the sources I see, there is one
> basic dependency to Java 1.6: java.util.ServiceLoader
> To solve this problem, I've added a utility class in my
> local copy and delegate calls to ServiceLoader to this
> utility.
> 
> The utility class itself calls ServiceLoader, if the class
> is available (Java 1.6) or uses
> com.googlecode.bspi.ServiceLoader (Java 1.5).
> So the application needs one new dependency (only in the
> case of Java 1.5).
> 
> I've also changed the maven-compiler-plugin to generate
> Java 1.5 compatible byte code.
> 
> Jira: https://issues.apache.org/jira/browse/OWB-582
> 
> Part 2: Servet API 2.5
> 
> Some classes uses the new function
> ServletContext.getContextPath() for logging and giving a
> thread a useful name.
> 
> Here, I also added a utility class, and call
> servletContext.getServletContextName() in the case of
> Servlet API 2.4
> 
> Jira: https://issues.apache.org/jira/browse/OWB-583
> 
> Conclusion:
> 
> There are not many dependencies to the new APIs and there
> are simple workarounds. With this changes (and a similar
> patch for the ServiceLoader in CODI) I'm able to run OWB on
> WebSpere 6.1 and Tomcat 5.5 with Java 1.5.
> 
> Any suggestions?
> 
> Regards,
> 
> Udo
> 
>