On 09/02/2011 11:39 AM, BUSCH Steffen wrote:
>> On 09/02/2011 10:35 AM, BUSCH Steffen wrote:
>>> Hi Scott,
>>>
>>> I've seen you've filed a bug #4722 after my last email from 19th of
>>> August.
>>> http://bugs.caucho.com/view.php?id=4722
>>>
>>> It's already closed and marked as fixed in 4.0.21 so I've downloaded
>>> Resin-Pro-4.0.22 and deployed the WAR file
>>> (http://www.wmaccess.com/public/others/testapp-EclipseLink-2.2.war)
>>> with included EclipseLink 2.2 again.
>> If you're replacing/removing the eclipselink.jar, you also
>> need to move the resin-eclipselink.jar from the resin/lib
>> into the same classloader as your eclipselink override. (Or
>> put it into the project-jars so it's automatically copied.)
>>
> That's doesn't seems to be working here. Now there are ClassNotFound
> exceptions for
> org.eclipse.persistence.platform.server.resin.ResinPlatform
> That's a step-by-step list what I did based on your recommendation:
>
> unzip resin-pro-4.0.22.zip
> cd resin-pro-4.0.22
> rm lib/eclipselink.jar
> mv lib/resin-eclipselink.jar project-jars/
> cd webapps
> wget --no-verbose
> http://www.wmaccess.com/public/others/testapp-EclipseLink-2.2.war
> cd ..
> resin.exe
Try webapp-jars instead. That just worked for me.
-- Scott
>
> And this is the output:
>
> [11-09-02 20:30:56.653] {main} resin.conf =
> D:\WMACCESS-4.0\container-testing\resin-pro-4.0.22\conf\resin.xml
> [11-09-02 20:30:56.653] {main}
> [11-09-02 20:30:56.653] {main} server = 127.0.0.1:6800
> (app-tier:default)
> [11-09-02 20:30:56.653] {main} stage = production
> [11-09-02 20:30:56.933] {main} WebApp[production/webapp/default/ROOT]
> active
> [11-09-02 20:30:57.073] {main}
> WebApp[production/webapp/default/resin-admin] active
> [11-09-02 20:30:57.494] {main}
> WebApp[production/webapp/default/resin-doc] active
> [11-09-02 20:31:07.641] {main} In-place class redefinition (HotSwap) is
> available.
> [11-09-02 20:31:07.968] {main} javax.persistence.PersistenceException:
> Exception [EclipseLink-28018] (Eclipse Persistence Services -
> 2.2.0.v20110202-r8913):
> org.eclipse.persistence.exceptions.EntityManagerSetupException
> Exception Description: Predeployment of
> PersistenceUnit [JPA_TEST] failed.
> Internal Exception: Exception
> [EclipseLink-28006] (Eclipse Persistence Services -
> 2.2.0.v20110202-r8913):
> org.eclipse.persistence.exceptions.EntityManagerSetupException
> Exception Description: ClassNotFound:
> [org.eclipse.persistence.platform.server.resin.ResinPlatform] specified
> in [eclipselink.target-server] property.
> Internal Exception:
> java.lang.ClassNotFoundException:
> org.eclipse.persistence.platform.server.resin.ResinPlatform in
> EnvironmentClassLoader[web-app:production/webapp/default/testapp-Eclipse
> Link-2.2,STARTING]
> [11-09-02 20:31:07.968] {main} javax.persistence.PersistenceException:
> Exception [EclipseLink-28018] (Eclipse Persistence Services -
> 2.2.0.v20110202-r8913):
> org.eclipse.persistence.exceptions.EntityManagerSetupException
> Exception Description: Predeployment of
> PersistenceUnit [JPA_TEST] failed.
> Internal Exception: Exception
> [EclipseLink-28006] (Eclipse Persistence Services -
> 2.2.0.v20110202-r8913):
> org.eclipse.persistence.exceptions.EntityManagerSetupException
> Exception Description: ClassNotFound:
> [org.eclipse.persistence.platform.server.resin.ResinPlatform] specified
> in [eclipselink.target-server] property.
> Internal Exception:
> java.lang.ClassNotFoundException:
> org.eclipse.persistence.platform.server.resin.ResinPlatform in
> EnvironmentClassLoader[web-app:production/webapp/default/testapp-Eclipse
> Link-2.2,STARTING]
> context /testapp-EclipseLink-2.2: context listener entry point.
> context /testapp-EclipseLink-2.2: initializing EntityManagerFactory.
> context /testapp-EclipseLink-2.2: EclipseLink version packaged in .war
> file: 2.2.0.v20110202-r8913
> context /testapp-EclipseLink-2.2: Loaded EclipseLink version:
> 2.2.0.v20110202-r8913
> context /testapp-EclipseLink-2.2: Using EntityManagerFactory
> org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl@9d2f26
> context /testapp-EclipseLink-2.2: Application classloader:
> EnvironmentClassLoader[web-app:production/webapp/default/testapp-Eclipse
> Link-2.2]
> context /testapp-EclipseLink-2.2: EntityManagerFactory classloader:
> EnvironmentClassLoader[web-app:production/webapp/default/testapp-Eclipse
> Link-2.2]
> context /testapp-EclipseLink-2.2: Invoking EclipseLink 2.2 constructor.
> context /testapp-EclipseLink-2.2: Creating EntityManager
> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for
> further details.
> [EL Info]: 2011-09-02 20:31:08.794--ServerSession(508556)--EclipseLink,
> version: Eclipse Persistence Services - 2.2.0.v20110202-r8913
> [EL Info]: 2011-09-02
> 20:31:09.308--ServerSession(508556)--file:/D:/WMACCESS-4.0/container-tes
> ting/resin-pro-4.0.22/webapps/testapp-EclipseLink-2.2/WEB-INF/classes/_J
> PA_TEST login successful
> context /testapp-EclipseLink-2.2: Persisting an entity.
> context /testapp-EclipseLink-2.2: metamodel instance:
> MetamodelImpl@23127958 [ 2 Types: , 1 ManagedTypes: , 1 EntityTypes: , 0
> MappedSuperclassTypes: , 0 EmbeddableTypes: ]
> context /testapp-EclipseLink-2.2: Closing EntityManager
> context /testapp-EclipseLink-2.2: context listener finished.
> [11-09-02 20:31:09.464] {main}
> WebApp[production/webapp/default/testapp-EclipseLink-2.2] active
> [11-09-02 20:31:09.464] {main} Host[production/host/default] active
> [11-09-02 20:31:09.464] {main} Server[id=default,cluster=app-tier]
> active
> [11-09-02 20:31:09.464] {main}
> [11-09-02 20:31:09.464] {main} http listening to *:8080
> [11-09-02 20:31:09.542] {main} https listening to *:8443
> [11-09-02 20:31:09.542] {main}
> [11-09-02 20:31:09.542] {main} Resin[id=default] started in 13778ms
>
>
> Maybe I did not understand it correctly about removing the jars and
> moving them around. If my step-by-step list is wrong, could you please
> let me know how to get it working without ClassNotFound Exceptions.
>
> Thanks,
> -- Steffen
>
>
>> -- Scott
>>
>>> I did two tests, both failed:
>>>
>>> 1.) Unchanged 4.0.22 installation
>> ($RESIN_HOME/lib/eclipselink.jar is
>>> present):
>>>
>>> [11-09-02 10:04:38.668] {main} In-place class redefinition
>> (HotSwap)
>>> is available.
>>> context /testapp-EclipseLink-2.2: context listener entry point.
>>> context /testapp-EclipseLink-2.2: initializing EntityManagerFactory.
>>> context /testapp-EclipseLink-2.2: EclipseLink version
>> packaged in .war
>>> file: 2.2.0.v20110202-r8913
>>> context /testapp-EclipseLink-2.2: Loaded EclipseLink version:
>>> 2.1.2.v20101206-r8635
>>> context /testapp-EclipseLink-2.2: Using EntityManagerFactory
>>> org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl@aea5cd
>>> context /testapp-EclipseLink-2.2: Application classloader:
>>>
>> EnvironmentClassLoader[web-app:production/webapp/default/testapp-Eclip
>>> se
>>> Link-2.2]
>>> context /testapp-EclipseLink-2.2: EntityManagerFactory classloader:
>>> sun.misc.Launcher$AppClassLoader@1a7bf11
>>> context /testapp-EclipseLink-2.2: Invoking EclipseLink 2.2
>> constructor.
>>> java.lang.IllegalAccessError: tried to access method
>>>
>> org.eclipse.persistence.internal.jpa.metadata.tables.TableMetadata.<in
>>> it
>>>> (Ljava/lang/String;)V from class servlet.Listener
>>> at servlet.Listener.contextInitialized(Listener.java:51)
>>> at com.caucho.server.webapp.WebApp.start(WebApp.java:3542)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startImpl(DeployController.java
>>> :6
>>> 79)
>>> at
>>>
>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartA
>>> ut
>>> oRedeployAutoStrategy.java:77)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startOnInit(DeployController.ja
>>> va
>>> :529)
>>> at
>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>> at
>>>
>> com.caucho.server.webapp.WebAppContainer.start(WebAppContainer
>> .java:713)
>>> at com.caucho.server.host.Host.start(Host.java:676)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startImpl(DeployController.java
>>> :6
>>> 79)
>>> at
>>>
>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartA
>>> ut
>>> oRedeployAutoStrategy.java:77)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startOnInit(DeployController.ja
>>> va
>>> :529)
>>> at
>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>> at
>>> com.caucho.server.host.HostContainer.start(HostContainer.java:542)
>>> at com.caucho.server.cluster.Server.start(Server.java:1234)
>>> at
>>> com.caucho.server.cluster.ServletSystem.start(ServletSystem.java:72)
>>> at
>>>
>> com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:515)
>>> at
>>> com.caucho.env.service.ResinSystem.start(ResinSystem.java:483)
>>> at com.caucho.server.resin.Resin.start(Resin.java:1031)
>>> at com.caucho.server.resin.Resin.initMain(Resin.java:1167)
>>> at com.caucho.server.resin.Resin.main(Resin.java:1469)
>>> [11-09-02 10:04:39.151] {main}
>>> WebApp[production/webapp/default/testapp-EclipseLink-2.2] active
>>>
>>>
>>> => Still the $RESIN_HOME/lib/eclipselink.jar
>> (2.1.2.v20101206-r8635)
>>> seems to be used instead of 2.2.0.v20110202-r8913 in our WAR file.
>>>
>>>
>>>
>>> 2.) Workaround removing $RESIN_HOME/lib/eclipselink.jar
>>>
>>> [11-09-02 10:23:25.271] {main} In-place class redefinition
>> (HotSwap)
>>> is available.
>>> [11-09-02 10:23:25.489] {main}
>>> WebApp[production/webapp/default/testapp-EclipseLink-2.2] fail
>>> [11-09-02 10:23:25.505] {main} java.lang.NoClassDefFoundError:
>>> org/eclipse/persistence/platform/server/ServerPlatformBase
>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>> at
>>>
>> java.security.SecureClassLoader.defineClass(SecureClassLoader.
>> java:124)
>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>>> at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Class.java:247)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1506)
>>> at
>>>
>> com.caucho.loader.SystemClassLoader.loadClassImpl(SystemClassLoader.ja
>>> va
>>> :237)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1504)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1504)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1504)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java
>>> :1
>>> 442)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java
>>> :1
>>> 423)
>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Class.java:247)
>>> at
>>>
>> org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getCl
>>> as
>>> sForName(PrivilegedAccessHelper.java:93)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.findClass(
>>> En
>>> tityManagerSetupImpl.java:697)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.findClassF
>>> or
>>> Property(EntityManagerSetupImpl.java:703)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.updateServ
>>> er
>>> Platform(EntityManagerSetupImpl.java:532)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(
>>> En
>>> tityManagerSetupImpl.java:985)
>>> at
>>>
>> org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityM
>>> an
>>> agerFactory(PersistenceProvider.java:187)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceUnitManager.createDelegate(PersistenceUn
>>> it
>>> Manager.java:422)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceUnitManager.start(PersistenceUnitManager
>>> .j
>>> ava:383)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceManager.startPersistenceUnits(Persistenc
>>> eM
>>> anager.java:367)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceManager.environmentConfigureEnhancer(Per
>>> si
>>> stenceManager.java:638)
>>> at
>>>
>> com.caucho.loader.EnvironmentClassLoader.config(EnvironmentClassLoader
>>> .j
>>> ava:918)
>>> at
>>>
>> com.caucho.loader.EnvironmentClassLoader.bind(EnvironmentClassLoader.j
>>> av
>>> a:936)
>>> at
>>>
>> com.caucho.loader.EnvironmentClassLoader.start(EnvironmentClassLoader.
>>> ja
>>> va:963)
>>> at com.caucho.server.webapp.WebApp.start(WebApp.java:3508)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startImpl(DeployController.java
>>> :6
>>> 79)
>>> at
>>>
>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartA
>>> ut
>>> oRedeployAutoStrategy.java:77)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startOnInit(DeployController.ja
>>> va
>>> :529)
>>> at
>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>> at
>>>
>> com.caucho.server.webapp.WebAppContainer.start(WebAppContainer
>> .java:713)
>>> at com.caucho.server.host.Host.start(Host.java:676)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startImpl(DeployController.java
>>> :6
>>> 79)
>>> at
>>>
>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartA
>>> ut
>>> oRedeployAutoStrategy.java:77)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startOnInit(DeployController.ja
>>> va
>>> :529)
>>> at
>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>> at
>> com.caucho.server.host.HostContainer.start(HostContainer.java:542)
>>> at com.caucho.server.cluster.Server.start(Server.java:1234)
>>> at
>>> com.caucho.server.cluster.ServletSystem.start(ServletSystem.java:72)
>>> at
>>>
>> com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:515)
>>> at com.caucho.env.service.ResinSystem.start(ResinSystem.java:483)
>>> at com.caucho.server.resin.Resin.start(Resin.java:1031)
>>> at com.caucho.server.resin.Resin.initMain(Resin.java:1167)
>>> at com.caucho.server.resin.Resin.main(Resin.java:1469)
>>> [11-09-02 10:23:25.505] {main} Host[production/host/default] active
>>> [11-09-02 10:23:25.505] {main}
>> ProServer[id=default,cluster=app-tier]
>>> active
>>> [11-09-02 10:23:25.505] {main} JNI keepalive: not
>> available on Windows
>>> [11-09-02 10:23:25.505] {main} JNI: file, socket
>>> [11-09-02 10:23:25.505] {main}
>>> [11-09-02 10:23:25.505] {main}
>>> [11-09-02 10:23:25.505] {main} http listening to *:8080
>>> [11-09-02 10:23:25.848] {main} https listening to *:8443
>>> [11-09-02 10:23:25.848] {main}
>>> [11-09-02 10:23:25.863] {main} Health action DumpJmx[] executing
>>> java.lang.NoClassDefFoundError:
>>> org/eclipse/persistence/platform/server/ServerPlatformBase
>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>> at
>>>
>> java.security.SecureClassLoader.defineClass(SecureClassLoader.
>> java:124)
>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>>> at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Class.java:247)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1506)
>>> at
>>>
>> com.caucho.loader.SystemClassLoader.loadClassImpl(SystemClassLoader.ja
>>> va
>>> :237)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1504)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1504)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.
>>> ja
>>> va:1504)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java
>>> :1
>>> 442)
>>> at
>>>
>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java
>>> :1
>>> 423)
>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Class.java:247)
>>> at
>>>
>> org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getCl
>>> as
>>> sForName(PrivilegedAccessHelper.java:93)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.findClass(
>>> En
>>> tityManagerSetupImpl.java:697)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.findClassF
>>> or
>>> Property(EntityManagerSetupImpl.java:703)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.updateServ
>>> er
>>> Platform(EntityManagerSetupImpl.java:532)
>>> at
>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(
>>> En
>>> tityManagerSetupImpl.java:985)
>>> at
>>>
>> org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityM
>>> an
>>> agerFactory(PersistenceProvider.java:187)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceUnitManager.createDelegate(PersistenceUn
>>> it
>>> Manager.java:422)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceUnitManager.start(PersistenceUnitManager
>>> .j
>>> ava:383)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceManager.startPersistenceUnits(Persistenc
>>> eM
>>> anager.java:367)
>>> at
>>>
>> com.caucho.env.jpa.PersistenceManager.environmentConfigureEnhancer(Per
>>> si
>>> stenceManager.java:638)
>>> at
>>>
>> com.caucho.loader.EnvironmentClassLoader.config(EnvironmentClassLoader
>>> .j
>>> ava:918)
>>> at
>>>
>> com.caucho.loader.EnvironmentClassLoader.bind(EnvironmentClassLoader.j
>>> av
>>> a:936)
>>> at
>>>
>> com.caucho.loader.EnvironmentClassLoader.start(EnvironmentClassLoader.
>>> ja
>>> va:963)
>>> at com.caucho.server.webapp.WebApp.start(WebApp.java:3508)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startImpl(DeployController.java
>>> :6
>>> 79)
>>> at
>>>
>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartA
>>> ut
>>> oRedeployAutoStrategy.java:77)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startOnInit(DeployController.ja
>>> va
>>> :529)
>>> at
>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>> at
>>>
>> com.caucho.server.webapp.WebAppContainer.start(WebAppContainer
>> .java:713)
>>> at com.caucho.server.host.Host.start(Host.java:676)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startImpl(DeployController.java
>>> :6
>>> 79)
>>> at
>>>
>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartA
>>> ut
>>> oRedeployAutoStrategy.java:77)
>>> at
>>>
>> com.caucho.env.deploy.DeployController.startOnInit(DeployController.ja
>>> va
>>> :529)
>>> at
>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>> at
>> com.caucho.server.host.HostContainer.start(HostContainer.java:542)
>>> at com.caucho.server.cluster.Server.start(Server.java:1234)
>>> at
>>> com.caucho.server.cluster.ServletSystem.start(ServletSystem.java:72)
>>> at
>>>
>> com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:515)
>>> at com.caucho.env.service.ResinSystem.start(ResinSystem.java:483)
>>> at com.caucho.server.resin.Resin.start(Resin.java:1031)
>>> at com.caucho.server.resin.Resin.initMain(Resin.java:1167)
>>> at com.caucho.server.resin.Resin.main(Resin.java:1469)
>>> [11-09-02 10:23:25.972] {main} ProResin[id=default] started
>> in 3943ms
>>>
>>> => The web-app can't be started at all.
>>>
>>>
>>> -- Steffen
>>>
>>>
>>>
>>>>> On 08/19/2011 10:23 AM, BUSCH Steffen wrote:
>>>>>> The next evolution of our product (see also
>>>>>>
>> http://www.caucho.com/resin/press/wmaccess-delivers-data-services-usi
>>>> n
>>>>>> g-
>>>>>> resin/) has been quite successfully tested with most recent
>>>>> Resin Pro
>>>>>> 4.0.x versions as long as we were using EclipseLink
>> version 2.1.x.
>>>>>> Before heading into the next stage we needed to upgrade to
>>>>> EclipseLink
>>>>>> version 2.2 and perform various tests on different
>>>>> Application Servers.
>>>>>> Tomcat 6 passed, Websphere passed, but we have troubles
>>>> with Resin
>>>>>> 4.0.20.
>>>>>> Even EclipseLink 2.2 is packaged in the WAR, Resin's own
>>>>> EclipseLink
>>>>>> Version 2.1.2.v20101206-r8635 from
>>>>> $RESIN_HOME/lib/eclipselink.jar is
>>>>>> used.
>>>>>> Our Application uses a Constructor of EclipseLink 2.2 which
>>>>> causes the
>>>>>> IllegalAccessError.
>>>>> Try removing/replacing the eclipselink.jar from resin/lib.
>>>>> Resin itself doesn't depend on eclipselink, so it's safe to
>>>> remove or
>>>>> replace.
>>>>>
>>>>> -- Scott
>>>>>
>>>> It's very likely that we need some time to run two versions of our
>>>> software in parallel. Therefore I've chosen the "remove
>>>> $RESIN_HOME/lib/eclipselink.jar option" in order to allow each
>>>> Web-App our software to use the eclipselink version
>> included in their
>>>> individual WARs.
>>>>
>>>> However, when the $RESIN_HOME/lib/eclipselink.jar is removed, a
>>>> NoClassDefFoundError is thrown. This is the output / stack trace.
>>>>
>>>>
>>>> [11-08-19 19:40:10.379] {main} resin.home =
>>>> D:\WMACCESS-4.0\container-testing\resin-pro-4.0.20
>>>> [11-08-19 19:40:10.379] {main} resin.root =
>>>> D:\WMACCESS-4.0\container-testing\resin-pro-4.0.20
>>>> [11-08-19 19:40:10.379] {main} resin.conf =
>>>> D:\WMACCESS-4.0\container-testing\resin-pro-4.0.20\conf\resin.xml
>>>> [11-08-19 19:40:10.379] {main}
>>>> [11-08-19 19:40:10.379] {main} server = 127.0.0.1:6800
>>>> (app-tier:default)
>>>> [11-08-19 19:40:10.379] {main} stage = production
>>>> [11-08-19 19:40:10.706] {main}
>> WebApp[production/webapp/default/ROOT]
>>>> active
>>>> [11-08-19 19:40:10.831] {main}
>>>> WebApp[production/webapp/default/resin-admin] active
>>>> [11-08-19 19:40:11.189] {main}
>>>> WebApp[production/webapp/default/resin-doc] active
>>>> [11-08-19 19:40:11.766] {main} In-place class redefinition
>>>> (HotSwap) is available.
>>>> [11-08-19 19:40:11.968] {main}
>>>> WebApp[production/webapp/default/testapp-EclipseLink-2.2] fail
>>>> [11-08-19 19:40:11.984] {main} java.lang.NoClassDefFoundError:
>>>> org/eclipse/persistence/platform/server/ServerPlatformBase
>>>> at
>>>> java.lang.ClassLoader.defineClass1(Native Method)
>>>> at
>>>> java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>>> at
>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.
>>>> java:124)
>>>> at
>>>> java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>>>> at
>>>> java.net.URLClassLoader.access$000(URLClassLoader.java:56)
>>>> at
>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>>>> at
>>>> java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>>>> at
>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>> at
>>>> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
>>>> at
>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>> at
>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>> at
>>>> java.lang.Class.forName0(Native
>>>> Method)
>>>> at
>>>> java.lang.Class.forName(Class.java:247)
>>>> at
>>>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClas
>>>> sLoader.ja
>>>> va:1456)
>>>> at
>>>> com.caucho.loader.SystemClassLoader.loadClassImpl(SystemClassL
>>>> oader.java
>>>> :237)
>>>> at
>>>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClas
>>>> sLoader.ja
>>>> va:1454)
>>>> at
>>>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClas
>>>> sLoader.ja
>>>> va:1454)
>>>> at
>>>> com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClas
>>>> sLoader.ja
>>>> va:1454)
>>>> at
>>>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoa
>>>> der.java:1
>>>> 392)
>>>> at
>>>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoa
>>>> der.java:1
>>>> 373)
>>>> at
>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>> at
>>>> java.lang.Class.forName0(Native
>>>> Method)
>>>> at
>>>> java.lang.Class.forName(Class.java:247)
>>>> at
>>>> org.eclipse.persistence.internal.security.PrivilegedAccessHelp
>>>> er.getClas
>>>> sForName(PrivilegedAccessHelper.java:93)
>>>> at
>>>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.fi
>>>> ndClass(En
>>>> tityManagerSetupImpl.java:697)
>>>> at
>>>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.fi
>>>> ndClassFor
>>>> Property(EntityManagerSetupImpl.java:703)
>>>> at
>>>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.up
>>>> dateServer
>>>> Platform(EntityManagerSetupImpl.java:532)
>>>> at
>>>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.pr
>>>> edeploy(En
>>>> tityManagerSetupImpl.java:985)
>>>> at
>>>> org.eclipse.persistence.jpa.PersistenceProvider.createContaine
>>>> rEntityMan
>>>> agerFactory(PersistenceProvider.java:187)
>>>> at
>>>> com.caucho.env.jpa.PersistenceUnitManager.createDelegate(Persi
>>>> stenceUnit
>>>> Manager.java:422)
>>>> at
>>>> com.caucho.env.jpa.PersistenceUnitManager.start(PersistenceUni
>>>> tManager.j
>>>> ava:383)
>>>> at
>>>> com.caucho.env.jpa.PersistenceManager.startPersistenceUnits(Pe
>>>> rsistenceM
>>>> anager.java:363)
>>>> at
>>>> com.caucho.env.jpa.PersistenceManager.environmentConfigureEnha
>>>> ncer(Persi
>>>> stenceManager.java:634)
>>>> at
>>>> com.caucho.loader.EnvironmentClassLoader.config(EnvironmentCla
>>>> ssLoader.j
>>>> ava:866)
>>>> at
>>>> com.caucho.loader.EnvironmentClassLoader.bind(EnvironmentClass
>>>> Loader.jav
>>>> a:884)
>>>> at
>>>> com.caucho.loader.EnvironmentClassLoader.start(EnvironmentClas
>>>> sLoader.ja
>>>> va:911)
>>>> at
>>>> com.caucho.server.webapp.WebApp.start(WebApp.java:3486)
>>>> at
>>>> com.caucho.env.deploy.DeployController.startImpl(DeployControl
>>>> ler.java:6
>>>> 70)
>>>> at
>>>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnIni
>>>> t(StartAut
>>>> oRedeployAutoStrategy.java:77)
>>>> at
>>>> com.caucho.env.deploy.DeployController.startOnInit(DeployContr
>>>> oller.java
>>>> :523)
>>>> at
>>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>>> at
>>>> com.caucho.server.webapp.WebAppContainer.start(WebAppContainer
>>>> .java:713)
>>>> at
>>>> com.caucho.server.host.Host.start(Host.java:676)
>>>> at
>>>> com.caucho.env.deploy.DeployController.startImpl(DeployControl
>>>> ler.java:6
>>>> 70)
>>>> at
>>>> com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnIni
>>>> t(StartAut
>>>> oRedeployAutoStrategy.java:77)
>>>> at
>>>> com.caucho.env.deploy.DeployController.startOnInit(DeployContr
>>>> oller.java
>>>> :523)
>>>> at
>>>>
>> com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
>>>> at
>>>> com.caucho.server.host.HostContainer.start(HostContainer.java:542)
>>>> at
>>>> com.caucho.server.cluster.Server.start(Server.java:1231)
>>>> at
>>>>
>> com.caucho.server.cluster.ServletSystem.start(ServletSystem.java:72)
>>>> at
>>>>
>> com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:515)
>>>> at
>>>> com.caucho.env.service.ResinSystem.start(ResinSystem.java:483)
>>>> at
>>>> com.caucho.server.resin.Resin.start(Resin.java:1029)
>>>> at
>>>> com.caucho.server.resin.Resin.initMain(Resin.java:1156)
>>>> at
>>>> com.caucho.server.resin.Resin.main(Resin.java:1458)
>>>> [11-08-19 19:40:11.984] {main} Host[production/host/default] active
>>>>
>>>>
>>>> -- Steffen
>>>>
>>>>>> When checking the logging output of the EclipseLink 2.1 test WAR
>>>>>> (testapp-EclipseLink-2.1.war) it seems that it is working
>>>>> because of
>>>>>> the fact that packaged EclipseLink and used one from
>>>>>> $RESIN_HOME/lib/eclipselink.jar have the same
>> major/minor version
>>>>>> respectivly both are similar enough to properly startup.
>>>>>>
>>>>>> ...
>>>>>> context /testapp-EclipseLink-2.1: initializing
>>>> EntityManagerFactory.
>>>>>> context /testapp-EclipseLink-2.1: EclipseLink version
>>>>> packaged in .war
>>>>>> file: 2.1.1.v20100817-r8050
>>>>>> context /testapp-EclipseLink-2.1: Loaded EclipseLink version:
>>>>>> 2.1.2.v20101206-r8635
>>>>>> context /testapp-EclipseLink-2.1: Using EntityManagerFactory
>>>>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl@76438d
>>>>>> context /testapp-EclipseLink-2.1: Application classloader:
>>>>>>
>> EnvironmentClassLoader[web-app:production/webapp/default/testapp-Ecli
>>>> p
>>>>>> se
>>>>>> Link-2.1]
>>>>>> context /testapp-EclipseLink-2.1: EntityManagerFactory
>>>> classloader:
>>>>>> sun.misc.Launcher$AppClassLoader@1a7bf11
>>>>>> context /testapp-EclipseLink-2.1: Creating EntityManager
>>>> [EL Info]:
>>>>>> 2011-08-19 11:36:33.961--ServerSession(5181335)--EclipseLink,
>>>>>> version: Eclipse Persistence Services - 2.1.2.v20101206-r8635 [EL
>>>>>> Info]: 2011-08-19
>>>>>>
>> 11:36:34.554--ServerSession(5181335)--file:/D:/WMACCESS-4.0/container
>>>> -
>>>>>> te
>>>>>>
>> sting/resin-pro-4.0.20/webapps/testapp-EclipseLink-2.1/WEB-INF/classe
>>>> s
>>>>>> /_
>>>>>> JPA_TEST login successful
>>>>>> context /testapp-EclipseLink-2.1: Persisting an entity.
>>>>>> context /testapp-EclipseLink-2.1: metamodel instance:
>>>>>> MetamodelImpl@18521651 [ 2 Types: , 1 ManagedTypes: , 1
>>>>> EntityTypes: ,
>>>>>> 0
>>>>>> MappedSuperclassTypes: , 0 EmbeddableTypes: ] context
>>>>>> /testapp-EclipseLink-2.1: Closing EntityManager context
>>>>>> /testapp-EclipseLink-2.1: context listener finished.
>>>>>> [11-08-19 11:36:34.647] {resin-56}
>>>>>> WebApp[production/webapp/default/testapp-EclipseLink-2.1]
>>>> active ...
>>>>>>
>>>>>>
>>>>>> However, our app required EclipseLink 2.2 now and with all other
>>>>>> tested servlet containers this issue does not appear
>>>>> (logging output
>>>>>> from Tomcat 6 below).
>>>>>> Any advice how to solve this issue?
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> Steffen
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Just for the records - Tomcat 6 output:
>>>>>>
>>>>>> INFO: Deploying web application archive
>>>> testapp-EclipseLink-2.2.war
>>>>>> context /testapp-EclipseLink-2.2: context listener entry point.
>>>>>> context /testapp-EclipseLink-2.2: initializing
>>>> EntityManagerFactory.
>>>>>> context /testapp-EclipseLink-2.2: EclipseLink version
>>>>> packaged in .war
>>>>>> file: 2.2.0.v20110202-r8913
>>>>>> context /testapp-EclipseLink-2.2: Loaded EclipseLink version:
>>>>>> 2.2.0.v20110202-r8913
>>>>>> context /testapp-EclipseLink-2.2: Using EntityManagerFactory
>>>>>>
>> org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl@1762027
>>>>>> context /testapp-EclipseLink-2.2: Application classloader:
>>>>>> WebappClassLoader
>>>>>> context: /testapp-EclipseLink-2.2
>>>>>> delegate: false
>>>>>> repositories:
>>>>>> /WEB-INF/classes/
>>>>>> ----------> Parent Classloader:
>>>>>> org.apache.catalina.loader.StandardClassLoader@5329c5
>>>>>>
>>>>>> context /testapp-EclipseLink-2.2: EntityManagerFactory
>>>> classloader:
>>>>>> WebappClassLoader
>>>>>> context: /testapp-EclipseLink-2.2
>>>>>> delegate: false
>>>>>> repositories:
>>>>>> /WEB-INF/classes/
>>>>>> ----------> Parent Classloader:
>>>>>> org.apache.catalina.loader.StandardClassLoader@5329c5
>>>>>>
>>>>>> context /testapp-EclipseLink-2.2: Invoking EclipseLink 2.2
>>>>> constructor.
>>>>>> context /testapp-EclipseLink-2.2: Creating EntityManager
>>>> [EL Info]:
>>>>>> 2011-08-19 12:28:14.456--ServerSession(13685038)--EclipseLink,
>>>>>> version: Eclipse Persistence Services - 2.2.0.v20110202-r8913 [EL
>>>>>> Info]: 2011-08-19
>>>>>>
>> 12:28:14.918--ServerSession(13685038)--file:/D:/WMACCESS-4.0/containe
>>>> r
>>>>>> -t
>>>>>>
>> esting/apache-tomcat-6.0.33/webapps/testapp-EclipseLink-2.2/WEB-INF/c
>>>> l
>>>>>> as
>>>>>> ses/_JPA_TEST login successful
>>>>>> context /testapp-EclipseLink-2.2: Persisting an entity.
>>>>>> context /testapp-EclipseLink-2.2: metamodel instance:
>>>>>> MetamodelImpl@15703940 [ 2 Types: , 1 ManagedTypes: , 1
>>>>> EntityTypes: ,
>>>>>> 0
>>>>>> MappedSuperclassTypes: , 0 EmbeddableTypes: ] context
>>>>>> /testapp-EclipseLink-2.2: Closing EntityManager context
>>>>>> /testapp-EclipseLink-2.2: context listener finished.
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> resin-interest mailing list
>>>>>> [email protected]
>>>>>> http://maillist.caucho.com/mailman/listinfo/resin-interest
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> resin-interest mailing list
>>>>> [email protected]
>>>>> http://maillist.caucho.com/mailman/listinfo/resin-interest
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> resin-interest mailing list
>>>> [email protected]
>>>> http://maillist.caucho.com/mailman/listinfo/resin-interest
>>>>
>>>>
>>>
>>> _______________________________________________
>>> resin-interest mailing list
>>> [email protected]
>>> http://maillist.caucho.com/mailman/listinfo/resin-interest
>>>
>>
>>
>> _______________________________________________
>> resin-interest mailing list
>> [email protected]
>> http://maillist.caucho.com/mailman/listinfo/resin-interest
>>
>>
>
>
> _______________________________________________
> resin-interest mailing list
> [email protected]
> http://maillist.caucho.com/mailman/listinfo/resin-interest
>
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest