Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JBoss User Help »

[jboss-user] [Installation,
 Configuration & DEPLOYMENT] - Re: Maven + Embedded EJB
 + JPA +EJB 3.0 getting Null name

scott.stark@jboss.org

2007-08-07


Took me a while to get this but here it is:

The persistence.xml should look almost exactly like below:

<persistence>
|  <persistence-unit name="myPU">
|  <jta-data-source>java:/MyDB</jta-data-source>
|    <properties>          
|      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
|      <property name="hibernate.hbm2ddl.auto" value="update" />              
|    </properties>    
|  </persistence-unit>
| </persistence>

Each tag should be in one single line with no line breaks. The Null name I was getting is most likely a bug in parsing this persistence.xml file with line breaks.

Also, since I was coming from a toplink background I found that the data source has to be name "java:/MyDB" as opposed to "jdbc/MyDB"

Then make sure you have the corresponding data source defined in embedded-jboss-beans.xml as below

<bean name="MyDB" class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource">
|     <property name="driverClass">com.mysql.jdbc.Driver</property>
|     <property name="connectionURL">jdbc:mysql://dev1:3306/mydb?user=root&password=hello</property>
|     <property name="jndiName">java:/MyDB</property>
|     <property name="transactionManager"><inject bean="TransactionManager"/></property>
|     <property name="cachedConnectionManager"><inject bean="CachedConnectionManager"/></property>
|     <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property>
|   </bean>
|


Finally here is a method that will test your code:

| public void create() throws Exception {
|    Owner owner = new Owner();
|    OwnerData ownerData = new OwnerData();
|    ownerData.setName("Test Company");
|    ownerData.setContact("Richard");
|    ownerData.setPhone("979-777-7777");
|    owner.setOwnerData(ownerData);
|
|    EJB3StandaloneBootstrap.boot(null);
|    EJB3StandaloneBootstrap.scanClasspath();
|
|    InitialContext ctx = getInitialContext();
|
|    OwnerDAO dao = (OwnerDAO) ctx.lookup("OwnerDAOBean/local");
|    dao.create(owner);
|    EJB3StandaloneBootstrap.shutdown();
|  }

I was having problems trying to get the lookup to work when the container was being started by a BeforeGroups method. But I've save that for another post. Once you get it all working it's pretty cool :)

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071420
_______________________________________________
jboss-user mailing list
jboss-user@(protected)
https://lists.jboss.org/mailman/listinfo/jboss-user
©2008 junlu.com - Jax Systems, LLC, U.S.A.