Problems installing the EJB3 cartridge?

Re-read the installation howto. If that doesn't help, post a new topic in the EJB cartridge forum. Do not post in the sticky guides.

[top]


When is the EJB3 cartridge going to be released?

Hopefully soon. Thanks to a few people who use the cartridge, we are able to fix some of the issues with releasing a new cartride. Unfortunately, until JBoss AS 5, the JBoss EJB 3.0 implementation will not satisfy the EJB 3.0 FR specification, although it is very close.

[top]


Is JBoss Seam going to be supported?

That is definitely in the pipeworks. There is some initial support in the cartridge in CVS, and some minimal documentation here. Stay tuned and keep your eye on the EJB cartridge forum.

[top]


Migrating from Hibernate to EJB3?

Migrating from Hibernate will be easier than you think. Just remember that if you have specified tagged values with tags in the andromda.hibernate namespace, you need to change these to the corresponding tag in the andromda.persistence namespace. Check the profile page to find the tagged value you are looking for.

[top]


How does an EJB 3.0 project define meta information?

The cartridge now uses a combination of annotations and orm.xml deployment descriptor to define meta mapping information. The orm.xml will override or even replace certain annotations and allows you to maintain full control by separating generated code and your implementation code.

[top]


How can I stay up to date with the changes to the EJB3 cartridge?

The first thing you should do is register with the AndroMDA forums and select the forums you want to keep your eye on to receive emails of posts.

Regularly read the updates in the changes report.

[top]


How can I rename the EAR file?

In more complex circumstances, you may want to rename your EAR. For JBoss AS, you may have the prefix sorter deployer enabled, in which case you want to prefix a non-negative digit to the EAR. There are a couple of pitfals you need to know about to get this working.

In your top-level POM, in the properties section, create an entry to hold the prefix, if you required a prefix. You could name it application.deploy.prefix.

In your app folder POM, modify the finalName element under the build element to reflect the prefix above. It would read ${application.deploy.prefix}${application.id}-${pom.version}

You must also modify the targetPath element in the resource section corresponding to the src/main/application directory element. This would read ../${application.deploy.prefix}${application.id}-${pom.version}

Finally, make sure you rename the jndiNamePrefix property in the ejb3 namespace of your andromda.xml application descriptor to reflect this change. The jndiNamePrefix would read ${application.deploy.prefix}${application.id}-${pom.version}.

[top]


I am getting "java.net.MalformedURLException: no protocol: and" when running the test!

This is a class loader issue where somewhere in the JBoss Microcontainer, the URL referencing your Maven 2 repository is not encoded and you have spaces in this URL. This is particularly the case if you are running under a Windows OS platform and your default Maven 2 repository is C:\Documents and Settings\username\.m2\repository. The problem is the space in the URL!

You need to move your repository to a location on your filesystem without spaces and update/add the settings.xml in your .m2 folder to set the localRepository element to this new location. Here is the Maven settings guide.

[top]


Why am I getting "java.lang.RuntimeException: java.lang.NoSuchMethodError: org.jboss.ejb3.KernelAbstractionFactory.setKernel(Lorg/jboss/kernel/Kernel;)V" when running the test!

This is a classpath issue. The JBoss libs/artifacts that are setup as dependencies in the project contain different versions of the org.jboss.ejb3.KernelAbstractionFactory class.

You should be able to safely comment out or remove the jboss-ejb3-client dependency from your dependencies list. This library's version of KernelAbstractionFactory does not contain the kernel attribute. This allows this class to be seen/loaded from the jboss-ejb3-all library.

[top]


Problems creating schema using "mvn -e -f core/pom.xml andromdapp:schema -Dtasks=create"

Once you deploy your ear package to the application server, all necessary schemas will be created for you based on the hibernate.hbm2ddl.auto property in your application's persistence.xml configuration.

Have a look at forum reference.

[top]


Does ejb3 cartridge support Manageable Entities?

Yes. The ejb3 cartidge can be used with the JSF2 cartridge to get full support to Manageable Entities.

[top]


I used to use the subclass strategy with the Hibernate cartridge. Home come I get "Cannot use identity column key generation with union-subclass mapping for" when I use the TABLE_PER_CLASS strategy with the EJB3 cartridge?

The EJB3 cartridge equivalent of the subclass inheritance strategy for the Hibernate cartridge is the JOINED inheritance strategy. Read more about it in forum thread.

[top]


How do I access SessionBeans from JSF using the ServiceLocator?

Use the following properties in andromda.xml. namespace "ejb3": ${application.id}-${pom.version} {0}Interface {0} namespace "jsf": (${application.package}.service.{1}) ${application.package}.ServiceLocator.getInstance().getService("${application.id}-${pom.version}/{1}")

Have a look at forum reference.

[top]