> 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


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
> >>>> resin-interest@caucho.com
> >>>> http://maillist.caucho.com/mailman/listinfo/resin-interest
> >>>>
> >>>
> >>>
> >>> _______________________________________________
> >>> resin-interest mailing list
> >>> resin-interest@caucho.com
> >>> http://maillist.caucho.com/mailman/listinfo/resin-interest
> >>>
> >>>
> >>
> >>
> >> _______________________________________________
> >> resin-interest mailing list
> >> resin-interest@caucho.com
> >> http://maillist.caucho.com/mailman/listinfo/resin-interest
> >>
> >>
> >
> >
> > _______________________________________________
> > resin-interest mailing list
> > resin-interest@caucho.com
> > http://maillist.caucho.com/mailman/listinfo/resin-interest
> >
> 
> 
> 
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest
> 
> 



_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to