Looks like changing the properties did the trick however there seems to be some other eissue due to missing dependency, here is what I see now

*******************************************************************************************************
23 Feb, 2010 5:20:52 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive ejb-sample.war
context path = /ejb-sample
23 Feb, 2010 5:20:57 PM org.apache.catalina.loader.WebappClassLoader findResourceInternal INFO: Illegal access: this web application instance has been stopped already. Could not load org/apache/openjpa/util/ImplHelper.class. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. 23 Feb, 2010 5:20:57 PM org.apache.catalina.loader.WebappClassLoader findResourceInternal INFO: Illegal access: this web application instance has been stopped already. Could not load org/apache/openjpa/util/ImplHelper$1.class. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. *******************************************************************************************************

-Vicky
Gurkan Erdogdu wrote:
I mean is that I have refactored our resource injection handling but we do not update our ejb samples. Currently in ejb-sample/pom.xml it defines resource-plugin but this is not required anymore.

Moreover, ejb-samples/META-INF/openwebbeans/openwebbeans.properties must be updated to include ResourceInjectionService.(currently it use ResourceService!). After changing, re-try to deploy it using "mvn clean tomcat:deploy" command as explained in README.

#use resource service
org.apache.webbeans.spi.ResourceInjectionService=org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService


2010/2/23 Vicky Kak <[email protected] <mailto:[email protected]>>

    I am not sure what you mean here, I assume that you need to make
    some configurations in Tomat and deploy the sample application.
    Let me know once you perform the tests, I will meanwhile take a
    look at the tomcat logging details.

    -Vicky
    Gurkan Erdogdu wrote:

        Yes that is it.

        But we do not try to run samples after changing some
        configurations therefore you could get some exceptions.

        I will look at in the evening to run ejb samples.

        --Gurkan

        2010/2/23 Vicky Kak <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>

           Hi Gurkan,

           Thanks for the details.
           I have been building the OWB from the trunk and followed the
           readme which is based on M3, the M4 specific readme is not yet
           available.

           I did understand that we need the place the common jars
        specific
           to jsr330/jsr299 in the $TOMCAT/lib and configure the
        openejb in
           tomcat.
           After this we should be able to deploy the ejb-sample.war
         in the
           $TOMCAT/webapps, pretty simple!

           Is there anything else I should look from configuration
        perspective?

           Here is what I see from the Tomcat console currently

***********************************************************************************************

           INFO: Deploying web application archive ejb-sample.war
           context path = /ejb-sample
           23 Feb, 2010 3:41:09 PM
        org.apache.catalina.core.StandardContext start
           SEVERE: Error listenerStart
           23 Feb, 2010 3:41:09 PM
        org.apache.catalina.core.StandardContext start
           SEVERE: Context [/ejb-sample] startup failed due to
        previous errors
           23 Feb, 2010 3:41:09 PM
           org.apache.catalina.loader.WebappClassLoader
        findResourceInternal
           INFO: Illegal access: this web application instance has been
           stopped already.  Could not load
           org/apache/openjpa/util/ImplHelper.class.  The eventual
        following
           stack trace is caused by an error thrown for debugging
        purposes as
           well as to attempt to terminate the thread which caused the
           illegal access, and has no functional impact.
           23 Feb, 2010 3:41:09 PM
           org.apache.catalina.loader.WebappClassLoader
        findResourceInternal
           INFO: Illegal access: this web application instance has been
           stopped already.  Could not load
           org/apache/openjpa/util/ImplHelper$1.class.  The eventual
           following stack trace is caused by an error thrown for
        debugging
           purposes as well as to attempt to terminate the thread which
           caused the illegal access, and has no functional impact.
           23 Feb, 2010 3:41:09 PM org.apache.catalina.startup.HostConfig
           deployDirectory
***********************************************************************************************


           Regards,
           Vicky
           Gurkan Erdogdu wrote:

               Hello Vicky;

               Some configuration file names are changed. README_M3 is a
               little bit old with respect to openwebbeans.properties
               content. We have a plan to release M4 this week that it
               contains lots of bug fixes. Therefore instead of using M3
               artifacts, until M4 releases, checkout source from SVN and
               build it yourself.

               >>> "atinject-api-1.0.0-incubating-M3.jar....
               at-inject.(JSR-330 API).jar and cdi.jar (JSR-299 API)
        projects
               have moved to geronimo specs. You can download it from
               http://repo1.maven.org/maven2/org/apache/geronimo/specs/
               manually or if you use "maven", you can define
        dependencies to
               them looking at pom content fro there.

               Locations :
               ----------------------------
http://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-atinject_1.0_spec/ http://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jcdi_1.0_spec/

               You have to add those jars into TOMCAT lib folder.

               >>>WEB-INF/lib, I don't understand what does this mean,
        it is
               not clear.
               It means that some of the libraries (jars) that OWB
        needs are
               not contained in Tomcat. You have to manually add those
        jars
               into your application WEB-INF/lib. For example, if you
        create
               a JSF application, add JSF jars into WEB-INF/lib with
        OWB JSF
               plugin. Another example is that OWB needes validator.jar.

               Generally you have to add implementation jar(webbeans-impl)
               and its dependencies to application WEB-INF/lib except
               atinject.jar and cdi.jar. webbeans-impl jar must be
        reside in
               WEB-INF/lib folder of the application, not in
        TOMCAT/lib folder.

               For Configuration:
               ------------------------
               openwebbeans-default.properties does not use EJB meta-data
               discovery as default. To use EJB discovery you have to
        tweak
               some properties. Look at
http://svn.apache.org/repos/asf/openwebbeans/trunk/samples/ejb-sample/src/main/resources/META-INF/openwebbeans/openwebbeans.properties.

               Moreover, README_M3 talked about resource plugin that was
               responsibe for injecting Java EE resources into bean (For
               example, EntityManager, DataSource etc.). There is no
               ResourcePlugin in current codebase. It has removed.
        Now, there
               is a ResourceInjectionService. You have to configure this
               service in openwebbeans.properties to use OpenEJB resource
               injection service instead of default. (Look at ejb-sample
               openwebbeans.properties).

               Currently OWB looks for
               META-INF/openwebbeans/openwebbeans.properties files to run
               over default configuration properties. If you have a
        JAR that
               is located in Tomcat LIB folder that contains
               META-INF/openwebbeans/openwebbeans.properties file, it
        is read
               by OWB.

               One more thing, OWB uses EJB interceptor
               (OpenWebBeansEJBInterceptor) to inject dependencies to EJB
               beans. Therefore your every session bean must have this
               interceptor. Again look at samples.

               Please look at ejb-sample application for current
        configuration.

               You can also join us on freenode channel on #IRC with
               #openwebbeans channel.

               Thanks;

               --Gurkan


               2010/2/23 Vicky Kak <[email protected]
        <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>> <mailto:[email protected]
        <mailto:[email protected]>

               <mailto:[email protected] <mailto:[email protected]>>>>


                  Vicky Kak wrote:

                      Hi Folks,

                      I am in process of testing openwebbean with
               Tomcat/openejb, I
                      did read the related section from the following docs
https://svn.apache.org/repos/asf/openwebbeans/trunk/readme/README_M3.txt

                      Here is the section which explains it
********************************************************************************************

                      EJB Support via Embeddable OpenEJB Container in
        Tomcat 6.X
                      ---------------------------------------------

                      Configuration Steps:
                      --------------------------------------------
                      1* Download Tomcat 6.X version
                      2* Configure OpenEJB. Look at URL
                      http://openejb.apache.org/tomcat.html for
        installation.
                      3* Copy "atinject-api-1.0.0-incubating-M3.jar" to
               Tomcat /lib
                      folder.
                      4* Copy "openwebbeans-api-1.0.0-incubating-M3.jar"
                      5* Look at ejb-sample.war for "WEB-INF/lib"
        libraries to
                      develop custom application.
                       You can also look at a source of the project.
********************************************************************************************

                      "atinject-api-1.0.0-incubating-M3.jar" does not get
               generated
                      at atinject-tck location, I was expecting it to be
               there. It
                      is not there, I did pull the CDI api jar and
        dropped it
               in the
                      $TOMCAT_HOME/lib.

                      "openwebbeans-api-1.0.0-incubating-M3.jar"
        should also be
                      copied to the $TOMCAT/lib, this should be
        pointed in the
                      instructions too.

                      >>Look at ejb-sample.war for "WEB-INF/lib"
        libraries to
                      develop custom application.
                      I don't understand what does this mean, it is
        not clear.


********************************************************************************************

                      How to Develop EJB Applications
                      ---------------------------------------------
                      1* Add "META-INF/openwebbeans.properties" into your
                      application classpath.
                      2* Add
"org.apache.webbeans.spi.deployer.UseEjbMetaDataDiscoveryService=true"
                      to use EJB functionality.
                       So OWB container looks for EJBs.
                      3* Add
"org.apache.webbeans.resource.spi.ResourceService=org.apache.webbeans.spi.ee.openejb.resource.OpenEjbResourceServiceImpl"
                      to
                      use OpenEJB Resource injections.
                      4* Add "openwebbeans-ejb",
        "openwebbeans-resource" and
                      "openwebbeans-geronimo" plugins into your web
        application
                      classpath.
                      It adds EJB, Resource and Open EJB Resource plugins
               into your
                      application.
                      5* If you want to use other plugins, add
        respective plugins
                      into your application classpath. For example, if you
               wish to use
                      JSF framework, you add "openwebbeans-jsf" plugin.
                      6* Add OWB related interceptor into your EJB
        Beans. This is
                      called
"org.apache.webbeans.ejb.interceptor.OpenWebBeansEjbInterceptor"
                      This is needed for OWB injections.
                      7* Update your application's "web.xml" to add
        OWB specific
                      configuration.

                      ---------------------------------------------
********************************************************************************************


                      Why can't we have this openwebbeans.properties
        as a part of
                      the jars which we have dropped in $TOMCAT/lib, it is
               not good
                      idea to configure the classpath for the Tomcat
        and then
               start.
                      I see the default properties file being here
https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-impl/src/main/resources/META-INF/openwebbeans/openwebbeans-default.properties


                      This does not contain the property values as
        mentioned
               in "How
                      to Develop EJB Applications", I was thinking of
        taking the
                      same file setting it to the Tomcat CP.

                      I have been able to configure the openEJB for Tomcat
               and have
                      not yet followed the instructions to set the
                      META-INF/openwebbeans.properties and hence
        getting this
               error
*******************************************************************************

                      context path = /ejb-sample
                      23 Feb, 2010 1:33:28 PM
                      org.apache.catalina.core.StandardContext start
                      SEVERE: Error listenerStart
*******************************************************************************


                      Before digging more into the code and finding
        the details I
                      would like to know more from the community.

                      Regards,
                      Vicky






               --        Gurkan Erdogdu
               http://gurkanerdogdu.blogspot.com





-- Gurkan Erdogdu
        http://gurkanerdogdu.blogspot.com





--
Gurkan Erdogdu
http://gurkanerdogdu.blogspot.com

Reply via email to