Hi, I get the following error
Caused by: 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:288) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325) at javax.naming.InitialContext.lookup(InitialContext.java:392) at org.apache.openjpa.ee.JNDIManagedRuntime.getTransactionManager(JNDIManagedRuntime.java:60) when running openjpa on Apache Karaf (OSGI server) where the jndi context has been created using the following spring xbean definition and exported as a osgi service <bean id="jndi" class="org.apache.xbean.spring.jndi.SpringInitialContextFactory" factory-method="makeInitialContext"> <entry key="java:/TransactionManager" value-ref="txManager" /> </map> </property> </bean> <osgi:service ref="jndi" interface="javax.naming.Context"/> Question : is there a trick which allow openjpa to find the transaction manager ? <properties> <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(SchemaAction='add,deleteTableContents')"/> <!-- <property name="openjpa.Log" value="log4j"/> --> <property name="openjpa.Log" value="log4j" /> <property name="openjpa.TransactionMode" value="managed"/> <property name="openjpa.ManagedRuntime" value="jndi(TransactionManagerName=java:/TransactionManager)"/> </properties> Here is my spring config : <!-- Setup Local Container for JPA and EntityManager --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="reportIncident"/> <property name="jpaVendorAdapter" ref="jpaAdapter"/> <property name="dataSource"> <osgi:reference interface="javax.sql.DataSource"/> </property> </bean> <!-- Open JPA dapter --> <bean id="jpaAdapter" class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter"> <property name="databasePlatform" value="${databasePlatform}"/> <property name="showSql" value="${showSql}"/> <property name="database" value="${database}"/> </bean> <!-- JTA TransactionManager --> <bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManager"> <osgi:reference interface="javax.transaction.TransactionManager"/> </property> </bean> Regards, Charles Moulliard Apache committer Karaf, Camel & ServiceMix -- View this message in context: http://openjpa.208410.n2.nabble.com/openjpa-jndi-issue-with-xbean-Spring-tp6003669p6003669.html Sent from the OpenJPA Users mailing list archive at Nabble.com.