OK, I got it working, finally!

There were several problems - most of which have been found by others but I'll 
repeat them here. There was one problem where I seem to be the only victim (see 
2 below).

1) There once was a time when I had myfaces-api-1.1.3.jar in JBoss. I'm not 
sure how it got there :-) but it has to be named myfaces-api.jar -- I found out 
that it isn't all that version sensitive, I have 1.1.5 now which I built from 
subversion, but the jar can't have the version in the name.

2) My classes were not even in my EJB3 jar file. This is due to the code 
generator generating the wrong package name (I entered "test", it wants the 
package to be "src.test") and it also generates an incorrect exclude line in 
the build.xml.

<target name="ejb3" depends="compile">
  |         <jar jarfile="${build.dir}/${name}.ejb3">
  |             <fileset dir="${imported.basedir}">
  |                 <include name="${name}.jar" />
  |             </fileset>
  |             <fileset dir="${classes.dir}">
  |                 <include name="**/*.class" />
  |                 <exclude name="**/test/*.class" />
  |             </fileset>
  |             <fileset refid="ejb3.root" />
  |             <fileset refid="ejb3.lib" />
  |         </jar>
  |     </target>

The exclude line removes the classes that were just added to the ejb3 jar. You 
can't give the "Hibernate Code Generation..." tool a package name that will 
work -- you have to change the package name in the source after it is generated.

I think the exclude is intended to avoid copying the classes twice... ?

3) If you are using MySql you need a META-INF/jboss-beans.xml file like this:

<?xml version="1.0" encoding="UTF-8"?>
  | 
  | <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |             xsi:schemaLocation="urn:jboss:bean-deployer 
bean-deployer_1_0.xsd"
  |             xmlns="urn:jboss:bean-deployer">
  | 
  |    <bean name="userDatasourceBootstrap" 
class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource">
  |       <property name="driverClass">org.gjt.mm.mysql.Driver</property>
  |       <property 
name="connectionURL">jdbc:mysql://localhost:3306/test</property>
  |       <property name="userName">root</property>
  |       <property name="password">mypassword</property>
  | 
  |       <property name="jndiName">java:/userDatasource</property>
  |       <property name="minSize">0</property>
  |       <property name="maxSize">10</property>
  |       <property name="blockingTimeout">1000</property>
  |       <property name="idleTimeout">100000</property>
  |       <property name="transactionManager"><inject 
bean="TransactionManager"/></property>
  |       <property name="cachedConnectionManager"><inject 
bean="CachedConnectionManager"/></property>
  |       <property name="initialContextProperties"><inject 
bean="InitialContextProperties"/></property>
  |    </bean>
  | 
  |    <bean name="userDatasource" class="java.lang.Object">
  |       <constructor factoryMethod="getDatasource">
  |          <factory bean="userDatasourceBootstrap"/>
  |       </constructor>
  |    </bean>
  | 
  | </deployment>

4) I think you want:

<property name="hibernate.hbm2ddl.auto" value="none" />

in your persistence.xml file or it will wipe out your tables if you leave it as 
"create-drop", and

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />

5) You have to put jboss-beans.xml in the build.xml in the ejb3.root fileset:

<include name="META-INF/jboss-beans.xml" />




View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3958921#3958921

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3958921
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to