wood burning stoves*
The moose likes JBoss/WildFly and the fly likes How to use Toplink essentials in JBoss 4.2.1? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Products » JBoss/WildFly
Bookmark "How to use Toplink essentials in JBoss 4.2.1?" Watch "How to use Toplink essentials in JBoss 4.2.1?" New topic
Author

How to use Toplink essentials in JBoss 4.2.1?

Dushyant Agarwal
Ranch Hand

Joined: Oct 14, 2007
Posts: 75
Can anyone tell me the way to configure TopLink essentials within JBoss4.2.1???

Thanks.
Derick Potgieter
Ranch Hand

Joined: Feb 19, 2004
Posts: 53
Hi,

Have you found a way to integrate the two?

Rgds
Derick


SCJP, SCJD, SCWCD, SCBCD (JEE)
Mohsen Saboorian
Greenhorn

Joined: Jan 10, 2008
Posts: 1
Sorry for the late reply, but there seems to be no other reply on this topic.

I've made a related post here:
http://saboorian.blogspot.com/2007/11/how-to-use-toplink-along-with-jboss.html

Let me know if this works for you!
Michael O'Brien
Greenhorn

Joined: May 04, 2008
Posts: 1
Hi,
The following workaround has been checked in for EclipseLink M8 to work with JBoss 4.2.2 GA.
Container managed entities should predeploy/deploy and register now with/without static weaving.
When the UCL3 classLoader no longer causes a NPE (See JIRA http://jira.jboss.com/jira/browse/EJBTHREE-572) we will reenable dynamic weaving on EAR predeploy().

http://bugs.eclipse.org/229634

Workaround:
---------------------------------
EclipseLink will use the non-temporary classLoader instead of the one from getNewTempClassLoader() obtained from the JBoss PersistenceUnitInfo that throws a NPE on loadClass() or Class.forName().
We require that JBoss implementers statically weave container managed entities and reference JBoss as the target-server in persistence.xml.

Deployment Changes:
1) If weaving is required then static weave the entities before EAR packaging using either the command-line weaver or the weaving ant task.
2) All persistence units deployed to the JBoss container must contain the following property in persistence.xml or container managed entities will predeploy but fail to be managed at runtime.

<property
name="eclipselink.target-server"
value="org.eclipse.persistence.platform.server.jboss.JBossPlatform"/>

JBoss AS 4.2.2 GA debugging:
----------------------------------------------------------
I debugged the UCL3 NullPointerException into the JBoss AS 4.2.2 GA source into the following segment of code.

In the following function the classloader parent tree is searched all the way to the root.
no clazz is returned and in the finally clause the last log.trace causes a RuntimeException on a NPE.
Curious though that the line number in Logger.trace() does not correspond to the JDK 1.5 src.

package org.jboss.mx.loading
public abstract class RepositoryClassLoader extends URLClassLoader
public Class loadClass(String name, boolean resolve)
throws ClassNotFoundException
...
finally
...
--->NPE log.trace("loadClass " + this + " name=" + name + " not found");
}
}
}

Thread [main] (Suspended)
UnifiedClassLoader3(RepositoryClassLoader).loadClass(String, boolean) line: 425
UnifiedClassLoader3(ClassLoader).loadClass(String) line: 251
UnifiedClassLoader3(ClassLoader).loadClassInternal(String) line: 319
Class<T>.forName0(String, boolean, ClassLoader) line: not available [native method]
Class<T>.forName(String, boolean, ClassLoader) line: 242
PrivilegedAccessHelper.getClassForName(String, boolean, ClassLoader) line: 85
XMLEntityMappings.getClassForName(String, ClassLoader) line: 120
XMLEntityMappings.getClassForName(String) line: 157
XMLEntityMappings.initPersistenceUnitClasses() line: 389
MetadataProcessor.initPersistenceUnitClasses() line: 188
MetadataProcessor.processEntityMappings() line: 298

Results:
--------
15:41:43,772 INFO [STDOUT] [EPS Warning]: 2008.05.02 15:41:43.755--Thread(Thread[main,5,jboss])--The temporary classLoader for PersistenceLoadProcessor [helloworld] is not available. Switching classLoader to [org.jboss.mx.loading.UnifiedClassLoader3@18b995c{ url=file:/C:/opt/jboss422/server/default/tmp/deploy/tmp13465jsfejb3.ear ,addedOrder=45}]. Weaving has been disabled for this session. EclipseLink may be unable to get a spec mandated temporary class loader from the server, you may be able to use static weaving as an optional workaround.
15:41:44,221 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=jsfejb3.ear,jar=app.jar,name=TodoDao,service=EJB3 with dependencies:
15:41:44,221 INFO [JmxKernelAbstraction] persistence.units:ear=jsfejb3.ear,jar=app.jar,unitName=helloworld
15:41:44,359 INFO [EJBContainer] STARTED EJB: TodoDao ejbName: TodoDao
15:42:45,344 INFO [STDOUT] [EPS Finer]: 2008.05.02 15:42:45.343--UnitOfWork(20862427)--Thread(Thread[http-127.0.0.1-8080-1,5,jboss])--TX binding to tx mgr, status=STATUS_ACTIVE
15:42:45,344 INFO [STDOUT] [EPS Finest]: 2008.05.02 15:42:45.344--UnitOfWork(20862427)--Thread(Thread[http-127.0.0.1-8080-1,5,jboss])--Execute query DoesExistQuery()
15:42:45,350 INFO [STDOUT] [EPS Finest]: 2008.05.02 15:42:45.350--UnitOfWork(20862427)--Thread(Thread[http-127.0.0.1-8080-1,5,jboss])--PERSIST operation called on: Todo@15914f3.

thank you
/michael
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to use Toplink essentials in JBoss 4.2.1?
 
Similar Threads
Spring/JPA/TopLink 11g extensions
javax.persistence.PersistenceException: No Persistence provider for EntityManager
What's your Container?
The future of Hibernate in Spring
Persistence Exception