Hi,

 I'm new to JBoss and facing this problem presently.

 I've created a simple EJB3/JPA app and using jboss-4.2.2.GA and Derby 
embedded. Here is what I have in the following files:

persistence.xml:


  | <?xml version="1.0" encoding="UTF-8"?>
  | <persistence version="1.0"
  |     xmlns="http://java.sun.com/xml/ns/persistence";
  |     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";>
  | 
  | 
  |     <persistence-unit name="Monitor">
  |             <provider>org.hibernate.ejb.HibernatePersistence</provider>
  |             <jta-data-source>jdbc/jndi-name</jta-data-source>
  |             <mapping-file>/META-INF/orm.xml</mapping-file>
  | 
  |                             
  |             <properties>
  |                     <property name="hibernate.show_sql" value="true" />
  |                     <property name="hibernate.format_sql" value="true" />
  |                     
  |                     <property name="hibernate.dialect"
  |                     value="org.hibernate.dialect.DerbyDialect" />
  |                     <property name="hibernate.hbm2ddl.auto" value="create" 
/>
  |             </properties>
  | 
  |     </persistence-unit>
  | </persistence>
  | 

I have the following TestClient

  | 
  | package testcases;
  | 
  | import java.util.Properties;
  | 
  | import javax.naming.InitialContext;
  | 
  | import session.Monitor;
  | 
  | 
  | public class TestClient {
  | 
  |     Monitor bean = null;
  | 
  | public void runTest() throws Exception {
  |             InitialContext ctx = new InitialContext();
  |             bean = (Monitor) ctx.lookup("OSMonitorSateless/remote");
  | 
  |             System.out.println("Searching ejb/OSMonitorSateless...");
  | 
  |             <some other initialization code goes here.....
  |                                  ..........................
  | .............................................>
  | 
  |             System.out.println("Creating ejb/OSMonitorSateless...");
  |             bean.create(snmp.getId(), o, c, i, m, s, snmp.getIn(), 
snmp.getR(),
  |                             snmp.getB());
  |             bean.toString();
  |     }
  | 
  |     public static void main(String[] args) {
  |             try {
  |                     TestClient cli = new TestClient();
  |                     System.out.println("Created Class...");
  |                     cli.runTest();
  | 
  |             } catch (Exception e) {
  |                     e.printStackTrace();
  |             }
  |     }
  | 
  | }
  | 

Now whenever I try to run the example, I get the following error:


  | - Could not find datasource: jdbc/jndi-name
  | javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or as an applet parameter, or in an application 
resource file:  java.naming.factory.initial
  |     at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
  |     at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
  |     at 
javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
  |     at javax.naming.InitialContext.lookup(InitialContext.java:351)
  |     at 
org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
  |     at 
org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
  |     at 
org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)
  |     at 
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
  |     at 
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
  |     at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
  |     at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713)
  |     at 
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
  |     at 
testcases.EntityManagerBasedTest.initEmfAndEm(EntityManagerBasedTest.java:46)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:74)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:33)
  |     at 
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
  |     at 
org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
  |     at 
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
  |     at 
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
  |     at 
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
  |     at 
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
  |     at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
  |     at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
  | 0 [main] FATAL org.hibernate.connection.DatasourceConnectionProvider  - 
Could not find datasource: jdbc/jndi-name
  | javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or as an applet parameter, or in an application 
resource file:  java.naming.factory.initial
  |     at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
  |     at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
  |     at 
javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
  |     at javax.naming.InitialContext.lookup(InitialContext.java:351)
  |     at 
org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
  |     at 
org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
  |     at 
org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)
  |     at 
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
  |     at 
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
  |     at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
  |     at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713)
  |     at 
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
  |     at 
testcases.EntityManagerBasedTest.initEmfAndEm(EntityManagerBasedTest.java:46)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:74)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:33)
  |     at 
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
  |     at 
org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
  |     at 
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
  |     at 
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
  |     at 
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
  |     at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
  |     at 
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
  |     at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
  |     at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
  |     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
  | 

I have also defined the derby-ds.xml, and it looks like the following:


  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <datasources>
  |     <local-tx-datasource>
  |             <jndi-name>jndi-name</jndi-name>
  |             <use-java-context>false</use-java-context>
  |             <connection-url>
  |                     jdbc:derby:C:/JPATest/dataDB
  |             </connection-url>
  |             <driver-class>
  |                     org.apache.derby.jdbc.EmbeddedDriver
  |             </driver-class>
  |             <user-name>xyzzz</user-name>
  |             <password>xyzzz</password>
  |             <exception-sorter-class-name>
  |                     
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
  |             </exception-sorter-class-name>
  |     </local-tx-datasource>  
  | </datasources>
  | 

Do I need to add need some more xml files in the project? 
 Will appreciate a lot if somebody can help.

-Thanks,
James.

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

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

Reply via email to