Any and all feedback welcome!
Details:
I'd like to deploy my AW application to a production release of the
GlassFish server. Preferably, GlassFish v3[.0.1]; GlassFish v2[.1.1]
should also be fine.
I have been able to consistently deploy to an older promoted build of
GF v3 (b65 is OK; b66 started consistently giving me problems with
EclipseLink -- it looks like GF (via EclipseLink) is not passing my
JDBC Connection/Pool configuration -- null values for un, pw, etc is
the exception).
More recently, I was hopeful with the recent GF v3 prod release. But
alas, no dice. I've spent the last three days beating on my
configuration and test server, trying different approaches, including
upgrading my test server's JDK (1.6.0.18), and trying GF v2.1.1 (where
I am consistently getting a "java.lang.NoSuchMethodError:
org.objectweb.asm.ClassReader.accept(Lorg/objectweb/asm/ClassVisitor;Z)
V" exception).
Some details of my configuration:
Development:
AW 5.0 GA Preview 3
Eclipse 3.5.1 (with a recompiled AW plugin!)
Sun JDK 1.6.0_b18
WinXP32
[Test] Server (not working):
Ubuntu Server 8.10, fully patched
MySQL 5.1.41 (via dotdeb)
Sun JDK 1.6.0_b18 (<--- GlassFish states 1.6.0_b17+ required)
GlassFish v3.0.1 -OR- GlassFish v2.1.1 (latest/patched; default
install/config for both)
[Test] Server (working):
Ubuntu Server 8.10, fully patched
MySQL 5.1.41 (via dotdeb)
Sun JDK 1.6.0_b14
GlassFish v3 Preview (b65)
***
Regards,
-Morton
Can you send out the complete stack trace?
My suspicion is that GlassFish or some other module is dependent on a
newer version of objectweb.asm, but it is picking AW's version ASM.
AW is using version 2.2.3 of ASM, and I checked that the accept()
method is not present.
You can try removing asm.jar from your AW app's webapp directory, and
see if it helps.
Thanks,
Kingsley
Thanks for your quick reply!
I did try (and just rechecked) removing the asm.jar from the webapp
directory (...\[app]\WEB-INF\lib), but no had no success.
(At one point I also tried including the latest ASM jars (v3.2) in the
lib directory, but I can guess that implementing new versions would
take a lot more than just dropping them in. Like updating the calls
within the AW framework.)
There are actually two different back-to-back stack entries in my
GlassFish v2.1.1 log. (And of note, these two entries are the same,
regardless of the inclusion (or absence) of asm.jar -- the same errors
appear regardless of the presence of asm.jar.)
Of note, I'd actually rather use the more recent GlassFish 3.0[.1]. I
also include the GF 3 EclipseLink-related stack trace log entry after
the GF 2.1.1 entries.
An observation related to GF 3: Seems to be some communication problem
(s) between Hibernate (AW's version?) and EclipseLink (2.0) within GF
3, and probably something to due with the newish version of
EclipseLink GF 3 has implemented -- GF 3 was working with EclipseLink
until September 2009. I just did some poking around (Google
"eclipselink glassfish b65"), and found some related sounding chatter
elsewhere, also complaining that GF 3's inclusion of the new
EclipseLink 2.0 around that time broke Compass code. Here is a link to
some Compass discussion (which AW also uses!) with their main guy
which may (or may not) be helpful to you:
http://forum.compass-project.org/thread.jspa?threadID=216371&tstart=-2
Anyway, here is the first log entry / stack trace (GF 2.1.1):
Log Entry Detail
Timestamp
Jan 31, 2010 22:06:45.582
Log Level
SEVERE
Logger
javax.enterprise.system.container.web
Name-Value Pairs
_ThreadID=15;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=b21419bd-
ef5d-45c3-b5a4-efe6185cb63c;
Record Number
376
Message ID
WebModule[/gip]StandardWrapper.Throwable java.lang.NoSuchMethodError
Complete Message
org.objectweb.asm.ClassReader.accept(Lorg/objectweb/asm/ClassVisitor;Z)
V at ariba.ui.aribaweb.util.AWJarWalker.visitBytecode(AWJarWalker.java:
714) at ariba.ui.aribaweb.util.AWJarWalker.processBytecode
(AWJarWalker.java:666) at
ariba.ui.aribaweb.util.AWClasspathResourceDirectory.initJar
(AWClasspathResourceDirectory.java:445) at
ariba.ui.aribaweb.util.AWClasspathResourceDirectory.autoRegisterJarResources
(AWClasspathResourceDirectory.java:320) at
ariba.ui.aribaweb.core.AWConcreteServerApplication.registerResourceDirectories
(AWConcreteServerApplication.java:346) at
ariba.ui.aribaweb.core.AWConcreteServerApplication.init
(AWConcreteServerApplication.java:131) at
ariba.ui.aribaweb.core.AWConcreteApplication.init
(AWConcreteApplication.java:293) at
ariba.ui.servletadaptor.AWServletApplication.init
(AWServletApplication.java:91) at app.Application.init
(Application.java:28) at
ariba.ui.aribaweb.core.AWConcreteApplication.createApplication
(AWConcreteApplication.java:161) at
ariba.ui.servletadaptor.AWDispatcherServlet.createApplication
(AWDispatcherServlet.java:66) at
ariba.ui.servletadaptor.AWDispatcherServlet.init
(AWDispatcherServlet.java:54) at
org.apache.catalina.core.StandardWrapper.loadServlet
(StandardWrapper.java:1100) at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
848) at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:222) at
org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:287) at
org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:218) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:648) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:593) at
com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke
(PESessionLockingStandardPipeline.java:98) at
org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:222) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:648) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:593) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
587) at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1093) at
org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:166) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:648) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:593) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
587) at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1093) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
291) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter
(DefaultProcessorTask.java:666) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess
(DefaultProcessorTask.java:597) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
(DefaultProcessorTask.java:872) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask
(DefaultReadTask.java:341) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
(DefaultReadTask.java:263) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
(DefaultReadTask.java:214) at
com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask
(PortUnificationPipeline.java:382) at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:
264) at
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run
(SSLWorkerThread.java:106)
And the second log entry / stack trace (GF v2.1.1):
Log Entry Detail
Timestamp
Jan 31, 2010 22:06:45.582
Log Level
SEVERE
Logger
javax.enterprise.system.container.web
Name-Value Pairs
_ThreadID=15;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=b21419bd-
ef5d-45c3-b5a4-efe6185cb63c;
Record Number
377
Message ID
StandardWrapperValve[gip]
Complete Message
PWC1382: Allocate exception for servlet gip
java.lang.NoSuchMethodError: org.objectweb.asm.ClassReader.accept(Lorg/
objectweb/asm/ClassVisitor;Z)V at
ariba.ui.aribaweb.util.AWJarWalker.visitBytecode(AWJarWalker.java:714)
at ariba.ui.aribaweb.util.AWJarWalker.processBytecode(AWJarWalker.java:
666) at ariba.ui.aribaweb.util.AWClasspathResourceDirectory.initJar
(AWClasspathResourceDirectory.java:445) at
ariba.ui.aribaweb.util.AWClasspathResourceDirectory.autoRegisterJarResources
(AWClasspathResourceDirectory.java:320) at
ariba.ui.aribaweb.core.AWConcreteServerApplication.registerResourceDirectories
(AWConcreteServerApplication.java:346) at
ariba.ui.aribaweb.core.AWConcreteServerApplication.init
(AWConcreteServerApplication.java:131) at
ariba.ui.aribaweb.core.AWConcreteApplication.init
(AWConcreteApplication.java:293) at
ariba.ui.servletadaptor.AWServletApplication.init
(AWServletApplication.java:91) at app.Application.init
(Application.java:28) at
ariba.ui.aribaweb.core.AWConcreteApplication.createApplication
(AWConcreteApplication.java:161) at
ariba.ui.servletadaptor.AWDispatcherServlet.createApplication
(AWDispatcherServlet.java:66) at
ariba.ui.servletadaptor.AWDispatcherServlet.init
(AWDispatcherServlet.java:54) at
org.apache.catalina.core.StandardWrapper.loadServlet
(StandardWrapper.java:1100) at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
848) at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:222) at
org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:287) at
org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:218) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:648) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:593) at
com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke
(PESessionLockingStandardPipeline.java:98) at
org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:222) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:648) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:593) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
587) at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1093) at
org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:166) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:648) at
org.apache.catalina.core.StandardPipeline.doInvoke
(StandardPipeline.java:593) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
587) at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:1093) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
291) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter
(DefaultProcessorTask.java:666) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess
(DefaultProcessorTask.java:597) at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
(DefaultProcessorTask.java:872) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask
(DefaultReadTask.java:341) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
(DefaultReadTask.java:263) at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
(DefaultReadTask.java:214) at
com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask
(PortUnificationPipeline.java:382) at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:
264) at
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run
(SSLWorkerThread.java:106)
***
Here is the GlassFish 3.0.1 exception stack trace:
Log Entry Detail
Timestamp
Jan 30, 2010 11:04:05.405
Log Level
INFO
Logger
javax.enterprise.system.std.com.sun.enterprise.v3.services.impl
Name-Value Pairs
{_ThreadName=Thread-1, _ThreadID=31}
Record Number
516
Message ID
[EL Severe]
Complete Message
2010-01-30 11:04:05.401--ServerSession(660571072)--Local Exception
Stack: Exception [EclipseLink-4021] (Eclipse Persistence Services -
2.0.0.v20091127-r5931):
org.eclipse.persistence.exceptions.DatabaseException Exception
Description: Unable to acquire a connection from driver [null], user
[null] and URL [null]. Verify that you have set the expected driver
class and URL. Check your login, persistence.xml or sessions.xml
resource. The jdbc.driver property should be set to a class that is
compatible with your database platform at
org.eclipse.persistence.exceptions.DatabaseException.unableToAcquireConnectionFromDriverException
(DatabaseException.java:376) at
org.eclipse.persistence.sessions.DefaultConnector.connect
(DefaultConnector.java:91) at
org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource
(DatasourceLogin.java:162) at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource
(DatabaseSessionImpl.java:584) at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login
(EntityManagerFactoryProvider.java:228) at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy
(EntityManagerSetupImpl.java:368) at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession
(EntityManagerFactoryImpl.java:151) at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl
(EntityManagerFactoryImpl.java:207) at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager
(EntityManagerFactoryImpl.java:195) at
ariba.ui.meta.jpa.HibernateContext.createEntityManager
(HibernateContext.java:94) at ariba.ui.meta.jpa.HibernateContext
$Provider.create(HibernateContext.java:48) at
ariba.ui.meta.persistence.ObjectContext.createContext
(ObjectContext.java:204) at
ariba.ui.meta.persistence.ObjectContext.bindNewContext
(ObjectContext.java:185) at
ariba.ui.meta.persistence.ObjectContext.bindNewContext
(ObjectContext.java:192) at
ariba.appcore.Initialization.checkDataInitLoaders(Initialization.java:
135) at ariba.appcore.Initialization$1.applicationDidInit
(Initialization.java:84) at
ariba.ui.aribaweb.core.AWConcreteApplication.createApplication
(AWConcreteApplication.java:166) at
ariba.ui.servletadaptor.AWDispatcherServlet.createApplication
(AWDispatcherServlet.java:66) at
ariba.ui.servletadaptor.AWDispatcherServlet.init
(AWDispatcherServlet.java:54) at
org.apache.catalina.core.StandardWrapper.initServlet
(StandardWrapper.java:1428) at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
1060) at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:187) at
org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:188) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke
(PESessionLockingStandardPipeline.java:85) at
org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:185) at
org.apache.catalina.connector.CoyoteAdapter.doService
(CoyoteAdapter.java:332) at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
233) at com.sun.enterprise.v3.services.impl.ContainerMapper.service
(ContainerMapper.java:165) at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:
791) at com.sun.grizzly.http.ProcessorTask.doProcess
(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process
(ProcessorTask.java:954) at
com.sun.grizzly.http.DefaultProtocolFilter.execute
(DefaultProtocolFilter.java:170) at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter
(DefaultProtocolChain.java:135) at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
102) at com.sun.grizzly.DefaultProtocolChain.execute
(DefaultProtocolChain.java:88) at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:
76) at com.sun.grizzly.ProtocolChainContextTask.doCall
(ProtocolChainContextTask.java:53) at
com.sun.grizzly.SelectionKeyContextTask.call
(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run
(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool
$Worker.doWork(AbstractThreadPool.java:330) at
com.sun.grizzly.util.AbstractThreadPool$Worker.run
(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:619)
***
Thanks in advance
-Morton
--
You received this message because you are subscribed to the Google Groups "AribaWeb (aribaweb.org)" group.
To post to this group, send email to arib...@googlegroups.com.
To unsubscribe from this group, send email to aribaweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/aribaweb?hl=en.
In brief, no luck.
However, I am not positive that I tried the recommended approach 100%
correctly. (And I am guessing that there is no "close" here.)
Could you offer some more specific recommendations? (What jars would
need to load earlier, etc. Or even what jars to put where. I did try a
number of combinations, please see below.)
My understanding:
Based on the reading, two basic approaches may be used for class
loading precedence on GlassFish. First, during Application Deployment,
specific Libraries may be specified. Second, the libraries (jars) may
be placed in specific locations (like {domain_root}/lib/ext (loads
second, just after Bootstrap, or {domain_root}/lib for global (loads
fourth); see p34 of the pdf you sent me).
Like I said above, I am not sure I took the right approach. I am still
pretty new to the whole Java web server environment, and I am
primarily a developer. That said, I am willing to roll up my sleeves
and try some troubleshooting -- and hopefully learn a few things along
the way.
Here's what I tried (both GF 2.1.1 and 3.0.1) -- I received the same
stack trace errors as stated previously:
* I specified several different sets of jars in the Libraries section
during Application Deployment (and I put the jars in {domain_root}/lib/
applibs). Some example sets: {asm.jar}; {full set of jars, less the
application's jar}
* I moved the asm.jar into the {domain_root}/lib/ext} directory
* I put all jars (short of the application's jar) into the
{domain_root}/lib/ext} directory. Of note here, I did get a different
error here -- unable to start an instance of HTTP Servlet. Looks like
at least the base AW jars need to be in the application's WEB-INF\lib
directory
Any additional comments or pointers welcome!
Thanks,
-Morton
On Feb 1, 12:54 pm, Kingsley Ngan <kingsley.n...@gmail.com> wrote:
> You can use application specific class loading in Glassfish, and this might
> solve the issue on both versions.
>
> You can download the v3 doc here:http://docs.sun.com/app/docs/prod/gf.entsvr.v3?l=en&a=view
>
> Page 36 of the Application Development Guide talks about this. I also
> attached it.
>
> I found the doc via this blog post:http://blogs.sun.com/sivakumart/entry/classloaders_in_glassfish_an_at...
>
> Let us know what you find.
>
> Thanks,
> Kingsley
>
> ...
>
> read more »
>
> 820-7695.pdf
> 2673KViewDownload
--
I followed the various instructions available to set up Hibernate as
the JPA provider, but I am still receiving the same EclipseLink error.
It looks like GlassFish is not seeing my persistence.xml. (I believe
the correct location is in the deployed application's META-INF folder
(?).)
I believe you are on to the cause of the issue here -- we need to get
GlassFish to use Hibernate.
I followed the steps:
* Used the Admin Console (via browser) to install Hibernate (via
Update Tool :: Available Add-ons :: Hibernate :: [Install])
* Restarted GlassFish.
* In my deployed application's META-INF folder, I created
persistence.xml:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
version="1.0" >
<persistence-unit name ="pu1">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- JNDI name of the database resource to use -->
<jta-data-source>[my JNDI name: "jdbc/. . ."]</jta-data-
source>
<properties>
<!-- The database dialect to use -->
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQLDialect"/>
</properties>
</persistence-unit>
</persistence>
* I restarted my deployed application in GlassFish: still the
EclipseLink error
* Tweaked persistence.xml (tried adding various properties, same
error)
* Restarted GF; also server: same error
I verified that the needed (7) Hibernate .jars are in the GF\lib
folder.
Would you have any additional advice?
(I will continue to look into getting GF to use Hibernate as the JPA
provider.)
Thank you!
-Morton
On Feb 2, 6:47 pm, Kingsley Ngan <kingsley.n...@gmail.com> wrote:
> Actually, the problem on GlassFish v3 is that it is using EclipseLink as the
> default JPA provider. AW uses Hibernate as the JPA provider.
>
> You can install Hibernate for GlassFish using the Update Tool or from the
> GlassFish Web admin console.
>
> http://blogs.sun.com/GlassFishPersistence/entry/using_hibernate_as_jp...
>
> "Description: Hibernate JPA provider for GlassFish Application Server
> instance. After this module is successfully installed you can use Hibernate
> as a persistence provider for your JPA applications. For more information
> read hibernate/overview.txt."
>
> I attached overview.txt. Can you give that a try?
>
> Thanks,
> Kingsley
>
> ...
>
> read more »
>
> overview.txt
> 4KViewDownload
--
I just had a breakthrough of sorts! While I wouldn't call it quite a
"full win," it does show that GlassFish v3.0.1 will work.
After reading the section "EclipseLink Library Location" in:
http://wiki.eclipse.org/EclipseLink/Examples/JPA/GlassFishV3_Web_Tutorial
I stopped GlassFish, moved (7) persistence-related jars to a temp
folder outside of the /modules directory, restarted GlassFish, and my
application loads -- no EclipseLink errors! Here are the EclipseLink /
persistence jars that I moved (all in {glassfish}/glassfish/modules/):
org.eclipse.persistence.antlr.jar
org.eclipse.persistence.jpa.jar
org.eclipse.persistence.asm.jar
org.eclipse.persistence.core.jar
(Note: The other two org.eclipse.persistence jars
(org.eclipse.persistence.jpa.modelgen.jar and
org.eclipse.persistence.oracle.jar) can also be moved and my
application will work.)
A couple thoughts:
* If no persistence provider is specified, will GlassFish will
choke? (I wonder if any internal GF apps or processes use
EclipseLink . . .)
* What will happen during a GlassFish update? (Choke?)
In any event, I'm guessing there is a better method than hiding/
removing the EclipseLink jars, and it is likely related to
persistence.xml. (Please read my previous post.)
Additional ideas welcome!
Thanks in advance,
-Morton
> ...
>
> read more »
-Morton
On Feb 3, 5:10 pm, Morton <morton.th...@gmail.com> wrote:
> Kingsley,
>
> I just had a breakthrough of sorts! While I wouldn't call it quite a
> "full win," it does show that GlassFish v3.0.1 will work.
>
> After reading the section "EclipseLink Library Location" in:
> http://wiki.eclipse.org/EclipseLink/Examples/JPA/GlassFishV3_Web_Tuto...
> ...
>
> read more »
Still, this issue should be solved via (GlassFish) configuration -- we
need to be able to specify to GlassFish that we want to override their
default JPA provider (EclipseLink).
Thanks,
-Morton
> ...
>
> read more »
Thanks!
-Morton
> ...
>
> read more »
Index: src/aribaweb/ariba/ui/aribaweb/util/AWJarWalker.java
===================================================================
--- src/aribaweb/ariba/ui/aribaweb/util/AWJarWalker.java (revision 26)
+++ src/aribaweb/ariba/ui/aribaweb/util/AWJarWalker.java (working
copy)
@@ -711,7 +711,7 @@
try {
InputStream is = iter.getInputStream();
ClassReader cr = new ClassReader(is);
- cr.accept(visitor, false);
+ cr.accept(visitor, ClassReader.SKIP_DEBUG);
} catch (IOException e) {
// skip?
Do you know, does the ASM fix allow GF 3[.0.1 b74.2] to run AW
applications without further configuration?
Thanks,
-Morton
Method servletUrlPrefix in the object AWServletApplication. Is a
masterpiece.
Reject the application name and instead puts the name of the servlet.
The presence of static parameters indicates that you can not do in the
annex more than one servlet.
Also on the static names in the system logging. (AW should be VERY
interested.) Your mention of AW's good handling of alternative
approach for Class.forName() is good to hear.
Now, the part about static parameters and the servletUrlPrefix
allowing only one AW servlet to run in a single servlet container is
troubling -- I have not yet tried running multiple apps at the same
time on the same servlet container. If this is the case, AW should
address this issue. (If so, please report it as a bug!)
However, do you have any thoughts on GlassFish v3 and the ASM fix --
will it allow AW to run (without removing the EclipseLink libs)?
Thank you,
-Morton
So you want to use JPA, you can not see the realization mataui-jpa?
There used Hibernate Session. Can come up with an alternative to this
masterpiece, using the technology OSGi service or Spring framework.
I would like to see the implementation of JDO. This technology works
with LDAP in the same way as with a relational database.
I am using JPA via AW's metaui-jpa.
Let me rephrase my earlier note: My AW app will not work on more
recent releases of GlassFish (GF) 3 (b66 - b74.2) -- without some
tinkering to the GF install. I have to remove the (7) EclipseLink jars
in the GF install, then AW metaui-jpa works fine.
Do the more recent versions of ASM fix the above? (So I don't have to
remove GF's EclipseLink jars?)
Thanks,
-Morton
You can make me change for the proposed ASM. See for yourself if right
solution for you. I tried to compile a project for asm 3.2. The
project worked.
I tried to run GlassFish 3.0. GlassFish 3.0 - a tractor. ServiceMix
4.2 - a racing car. The platform they have one - Apache Felix.
In the version of GlassFish I did not find EclipseLink.
No, my project is a basic Java web application (.war) + persistence
(MySQL).
I am less interested in GlassFish as an OSGI server, more in its
capabilities as a good, compliant, open-source servlet container /
application server.
ServiceMix looks interesting, but we really aren't looking to do SOA
or a service bus -- at this time.
EclipseLink is the standard JPA provider for GlassFish. The jars
should be in {GlassFish_Root}\modules. They
are:org.eclipse.persistence.antlr.jar
org.eclipse.persistence.asm.jar
org.eclipse.persistence.core.jar
org.eclipse.persistence.jpa.jar
Regarding the Hibernate requirement, do you know, what would be the
key-value pair(s) to include in manifest.mf to specify Hibernate? (My
understanding was that the persistence.xml would specify the Hibernate
requirement, but all of my experimenting with persistence.xml yielded
no results -- see the previous posts in this thread for more on this.)
Thank you,
-Morton