
|
If you were logged in you would be able to see more operations.
|
|
EJB Cartridge
Created: 31/Jan/08 04:05 PM
Updated: 31/Jan/08 04:08 PM
|
|
| Component/s: |
None
|
| Affects Version/s: |
None
|
| Fix Version/s: |
None
|
|
|
File Attachments:
|
1.
ejb-jar.xml.vsl (10 kb)
|
|
Environment:
|
Windows System 32Bit
JBoss 4.2.2.GA
|
|
When you are tag an entity with the "MappedSuperclass" annotation, start the generation process and try to deploy your application on JBoss 4.2.2.GA you will get the following error:
java.lang.ClassNotFoundException: No ClassLoaders found for: com.test.samples.ejb3xfire.GeneralEntityDaoImpl
I located the problem in the generated Deployment Descriptor for the Enterprise Java Beans (ejb-jar.xml).
For a MappedSuperclass this entry mustn't exist. When removing the entries for the MappedSuperclass, the application is deployable.
Why this is working on JBoss 4.0.5.GA with + EJB3 RC9 Patch 1?
Because the EJB3 RC9 Patch 1 is only a Preview Version and cannot process the Deployment Descriptor, so an inconsitence will not stop the deployment.
|
|
I attach this patch of the "ejb-jar.xml.vsl" file.
I added an additional IF clause at the loop of entities:
#foreach ($entity in $entities)
#**##if (!$entity.embeddableSuperclass)
<session>
<description>
<![CDATA[
$entity.getDocumentation("", 64, false)
]]>
</description>
<ejb-name>${entity.daoName}</ejb-name>
<local>${entity.fullyQualifiedDaoName}</local>
<ejb-class>${entity.fullyQualifiedDaoImplementationName}</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
#**##end
#end
|
|