You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by bongosdude <bo...@gmail.com> on 2009/01/08 05:07:13 UTC

Re: problem JNDI lookup in geronimo

I found it from console. There is a menu "JNDI Viewer", so this is the JNDI
for my db pool name: "jdbc/myvoipdb"


	<jee:jndi-lookup id="nuvoipDs" cache="true" lookup-on-startup="true"
jndi-name="jca:/console.dbpool/jdbc_nuvoip/JCAManagedConnectionFactory/jdbc/myvoipdb"
resource-ref="false" >
	</jee:jndi-lookup>


Thanks


CG-6 wrote:
> 
> Hi all, I have solved the previous problem by reinstalling geronimo ,
> adding <jta-data-source> tag at appropriate line in persistence.xml
> 
> I decided to reinstall geronimo because I found out I can't redeploy
> (to overwrite) the jar package after changing the persistence.xml.
> Later , I try to uninstall the EJB and deploy again but it told me
> that the configuraion already exist, then I try to check the
> "redeploy" but it told me that it is not installed.
> 
> unfortunately I can't reproduce the error
> 
> thx for all, I am now fighting with another error :)
> 
> CG
> 
> 
> On Sat, Apr 12, 2008 at 8:34 AM, CG <le...@gmail.com> wrote:
>> Thx for the reply :)
>>
>>
>>  >  Does your application have any CMP 2.1 Entity beans?
>>  Not sure whether is CMP 2.1 and how should I verify ? I coded it
>>  byfollowing a tutorial of EJB3 . I enclose  the source of the
>>  EntityBEan Material.java as a reference at end of msg
>>
>>
>>
>>  >  What geronimo version are you using?
>>  I am using geronimo 2.1 on ubuntu , below is the openejb-jar.xml &
>>  persistence.xml for your reference
>>
>>  FYI, my program consists of 2 entity bean,  Material & MaterialType.
>>  Initially I try to use the dbpool in geronimo for the db connection
>>  but it seems like does not work , therefore , I hardcoded the driver
>>  name , server name in the coding.
>>
>>  Initially there is  tag <jta-source> in the openejb-jar.xml but it
>>  prompt me for error under eclipse GEP 2.1 snapshot plugin, and Ihave
>>  remove it out.
>>
>>  Thanks
>>  CG
>>
>>
>>  openejb-jar.xml
>>  ====================
>>
>>  <?xml version="1.0" encoding="UTF-8"?>
>>  <openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.2"
>>  xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2"
>>  xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0"
>>  xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.2"
>>  xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2">
>>   <sys:environment>
>>     <sys:moduleId>
>>       <sys:groupId>default</sys:groupId>
>>       <sys:artifactId>EJBStructsEJB</sys:artifactId>
>>       <sys:version>1.0</sys:version>
>>       <sys:type>car</sys:type>
>>     </sys:moduleId>
>>     <sys:dependencies>
>>             <sys:dependency>
>>                 <sys:groupId>console.dbpool</sys:groupId>
>>                 <sys:artifactId>mysql</sys:artifactId>
>>             </sys:dependency>
>>     </sys:dependencies>
>>   </sys:environment>
>>   <enterprise-beans/>
>>  </openejb-jar>
>>
>>  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="EJBStructsEJB">
>>             <description>Entity Beans for Material</description>
>>                
>> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>>         <class>com.quesofttech.entity.MaterialType</class>
>>         <properties>
>>                 <property name="openjpa.jdbc.SynchronizeMappings"
>> value="false"/>
>>                 <property name="openjpa.ConnectionDriverName"
>>  value="com.mysql.jdbc.Driver"/>
>>                 <property name="openjpa.ConnectionURL"
>>  value="jdbc:mysql:localhost:3306/ERP"/>
>>                         <property name="openjpa.ConnectionUserName"
>> value="root"/>
>>                         <property name="openjpa.ConnectionPassword"
>> value="super123"/>
>>         </properties>
>>         </persistence-unit>
>>  </persistence>
>>
>>
>>
>>
>>
>>
>>
>>
>>  <code>
>>  package com.quesofttech.entity;
>>
>>  import java.io.Serializable;
>>  import java.sql.Date;
>>  import java.sql.Time;
>>
>>  import javax.persistence.Id;
>>  import javax.persistence.Entity;
>>  import javax.persistence.Table;
>>
>>  import javax.persistence.GeneratedValue;
>>  import javax.persistence.GenerationType;
>>  //import javax.persistence.SequenceGenerator;
>>  import javax.persistence.TableGenerator;
>>
>>  import javax.persistence.ManyToOne;
>>  import javax.persistence.JoinColumn;
>>
>>  @Entity
>>  @Table(name = "Material")
>>  //For Postgresql : @SequenceGenerator(name = "material_sequence",
>>  sequenceName = "material_id_seq")
>>  //Generic solution : (Use a table named PrimaryKeys, with 2 fields ,
>>  tableName &  keyField)
>>  @TableGenerator(  name="material_id", table="PrimaryKeys",
>>  pkColumnName="tableName", pkColumnValue="material",
>>  valueColumnName="keyField")
>>  public class Material implements Serializable {
>>
>>         private static final long serialVersionUID =
>> 7422574264557894632L;
>>
>>         private Integer id;
>>         private String code;
>>         private String description;
>>
>>         // Foreign keys
>>         private MaterialType materialType;
>>
>>         // Common fields
>>         private String recordStatus;
>>         private String sessionId;
>>         private String createLogin;
>>         private String createApp;
>>         private java.sql.Date createDate;
>>         private java.sql.Time createTime;
>>         private String modifyLogin;
>>         private String modifyApp;
>>         private java.sql.Date modifyDate;
>>         private java.sql.Time modifyTime;
>>
>>
>>         public Material() {
>>                 super();
>>                 // TODO Auto-generated constructor stub
>>         }
>>
>>         public Material(Integer id, String code, String description) {
>>                 super();
>>                 this.id = id;
>>                 this.code = code;
>>                 this.description = description;
>>         }
>>
>>
>>         public Material(Integer id, String code, String description,
>>                         MaterialType materialType, String recordStatus,
>> String sessionId,
>>                         String createLogin, String createApp, Date
>> createDate,
>>                         Time createTime, String modifyLogin, String
>> modifyApp,
>>                         Date modifyDate, Time modifyTime) {
>>                 super();
>>                 this.id = id;
>>                 this.code = code;
>>                 this.description = description;
>>                 this.materialType = materialType;
>>                 this.recordStatus = recordStatus;
>>                 this.sessionId = sessionId;
>>                 this.createLogin = createLogin;
>>                 this.createApp = createApp;
>>                 this.createDate = createDate;
>>                 this.createTime = createTime;
>>                 this.modifyLogin = modifyLogin;
>>                 this.modifyApp = modifyApp;
>>                 this.modifyDate = modifyDate;
>>                 this.modifyTime = modifyTime;
>>         }
>>
>>         @Override
>>         public String toString() {
>>
>>                 return "Id: " + getId() + " Desc: " + getDescription() +
>>                        " Code:" + getCode() +
>>                        " RecordStatus: " + getRecordStatus() +
>>                        " SessionId: " + getSessionId() +
>>                        " CreateLogin: " + getCreateLogin()  +
>>                        " CreateApp: " + getCreateApp() +
>>                        " CreateDate: "  + getCreateDate()  +
>>                        " CreateTime: "  + getCreateTime()  +
>>                        " ModifyLogin: "+ getModifyLogin()  +
>>                        " ModifyApp: " + getModifyApp() +
>>                        " ModifyDate: "  + getModifyDate()  +
>>                        " ModifyTime: "  + getModifyTime();
>>
>>         }
>>
>>
>>         @Id
>>         //For Postgresql : @GeneratedValue(strategy =
>>  GenerationType.SEQUENCE, generator = "material_sequence")
>>         //For MSSQL      : @GeneratedValue(strategy =
>> GenerationType.IDENTITY)
>>         //Generic solution :
>>         @GeneratedValue(strategy = GenerationType.TABLE, generator =
>> "material_id")
>>         public Integer getId() {
>>                 return id;
>>         }
>>         public void setId(Integer id) {
>>                 this.id = id;
>>         }
>>         public String getCode() {
>>                 return code;
>>         }
>>         public void setCode(String code) {
>>                 this.code = code;
>>         }
>>         public String getDescription() {
>>                 return description;
>>         }
>>         public void setDescription(String description) {
>>                 this.description = description;
>>         }
>>         public String getRecordStatus() {
>>                 return recordStatus;
>>         }
>>         public void setRecordStatus(String recordStatus) {
>>                 this.recordStatus = recordStatus;
>>         }
>>         public String getSessionId() {
>>                 return sessionId;
>>         }
>>         public void setSessionId(String sessionId) {
>>                 this.sessionId = sessionId;
>>         }
>>         public String getCreateLogin() {
>>                 return createLogin;
>>         }
>>         public void setCreateLogin(String createLogin) {
>>                 this.createLogin = createLogin;
>>         }
>>         public String getCreateApp() {
>>                 return createApp;
>>         }
>>         public void setCreateApp(String createApp) {
>>                 this.createApp = createApp;
>>         }
>>         public java.sql.Date getCreateDate() {
>>                 return createDate;
>>         }
>>         public void setCreateDate(java.sql.Date createDate) {
>>                 this.createDate = createDate;
>>         }
>>         public java.sql.Time getCreateTime() {
>>                 return createTime;
>>         }
>>         public void setCreateTime(java.sql.Time createTime) {
>>                 this.createTime = createTime;
>>         }
>>         public String getModifyLogin() {
>>                 return modifyLogin;
>>         }
>>         public void setModifyLogin(String modifyLogin) {
>>                 this.modifyLogin = modifyLogin;
>>         }
>>         public String getModifyApp() {
>>                 return modifyApp;
>>         }
>>         public void setModifyApp(String modifyApp) {
>>                 this.modifyApp = modifyApp;
>>         }
>>         public java.sql.Date getModifyDate() {
>>                 return modifyDate;
>>         }
>>         public void setModifyDate(java.sql.Date modifyDate) {
>>                 this.modifyDate = modifyDate;
>>         }
>>         public java.sql.Time getModifyTime() {
>>                 return modifyTime;
>>         }
>>         public void setModifyTime(java.sql.Time modifyTime) {
>>                 this.modifyTime = modifyTime;
>>         }
>>
>>     @ManyToOne
>>     @JoinColumn(name="materialType_fk")
>>         public MaterialType getMaterialType() {
>>                 return materialType;
>>         }
>>
>>         public void setMaterialType(MaterialType materialType) {
>>                 this.materialType = materialType;
>>         }
>>  }
>>  </code>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>  On Sat, Apr 12, 2008 at 3:25 AM, David Jencks <da...@yahoo.com>
>> wrote:
>>  > Hi CG,
>>  >
>>  >  That's not a terribly informative error message :-).  It looks to me
>> as if
>>  > the cmp entity bean support is not properly configured.
>>  >  Does your application have any CMP 2.1 Entity beans?
>>  >  What geronimo version are you using?
>>  >
>>  >  If your application does not have any CMP2.1 entity beans and you are
>> using
>>  > a geronimo version before 2.1 please upgrade.  There was a bug in some
>>  > versions that installed the cmp support even if you didn't have any
>> cmp
>>  > beans.  I think this was fixed by G 2.1.
>>  >
>>  >  If you do have cmp 2.1 entity beans you should (1) upgrade to jpa or
>> if
>>  > that is not possible (2) show us your openejb-jar.xml.
>>  >
>>  >  If you are not using cmp 2.1 entity beans and are already using G 2.1
>>  > please let us know.... we should check this is not a problem for G
>> 2.1.1
>>  >
>>  >  thanks
>>  >  david jencks
>>  >
>>  >
>>  >  On Apr 11, 2008, at 11:49 AM, CG wrote:
>>  >
>>  >
>>  > > Hi all,
>>  > >
>>  > >
>>  > >
>>  > >  I have solved a few remaining problem in JNDI lookup which occur
>> after
>>  > that.
>>  > >
>>  > > And I manage to get a initialcontext and manage to lookup an EJB ,
>>  > > however, the program throw exception when I try to call EJB function
>>  > > using the returned reference of EJB.
>>  > >
>>  > > Already search google but can't get useful info ...
>>  > > My EJB fundamental concept is not strong , find hard to understand
>> the
>>  > > error message , therefore , hope to get some hints at here
>>  > > THanks
>>  > >
>>  > > CG
>>  > > <code>
>>  > >
>>  > > OK                       context = new InitialContext(props);
>>  > > seems OK         beanRemote = (MaterialTestBeanRemote)
>>  > > context.lookup(MaterialTestBean.RemoteJNDIName);
>>  > >                         if(beanRemote!=null)
>>  > >                         {
>>  > > problem                    beanRemote.testMaterial();
>>  > >                                 beanRemote.testMaterialType();
>>  > >                                 //beanRemote.testRelation();
>>  > >                         }
>>  > >
>>  > > </code>
>>  > >
>>  > > Error msg
>>  > > Exception in thread "main" javax.ejb.EJBException: The bean
>>  > > encountered a non-application exception.; nested exception is:
>>  > >        <openjpa-1.0.1-r420667:592145 fatal general error>
>>  > > org.apache.openjpa.persistence.PersistenceException: null
>>  > >        at
>>  >
>> org.apache.openejb.client.EJBInvocationHandler.convertException(EJBInvocationHandler.java:210)
>>  > >        at
>>  >
>> org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:157)
>>  > >        at
>>  >
>> org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:116)
>>  > >        at
>>  >
>> org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52)
>>  > >        at $Proxy0.testMaterialType(Unknown Source)
>>  > >        at
>>  >
>> test.com.quesofttech.FirstEJB3TutorialClient.main(FirstEJB3TutorialClient.java:52)
>>  > > Caused by: <openjpa-1.0.1-r420667:592145 fatal general error>
>>  > > org.apache.openjpa.persistence.PersistenceException: null
>>  > >        at
>>  >
>> org.apache.openjpa.jdbc.schema.DataSourceFactory.installDBDictionary(DataSourceFactory.java:234)
>>  > >        at
>>  >
>> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:709)
>>  > >        at
>>  >
>> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDataSource(JDBCConfigurationImpl.java:809)
>>  > >        at
>>  >
>> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.setContext(JDBCStoreManager.java:120)
>>  > >        at
>>  >
>> org.apache.openjpa.kernel.DelegatingStoreManager.setContext(DelegatingStoreManager.java:78)
>>  > >        at
>>  > org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:285)
>>  > >        at
>>  >
>> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:187)
>>  > >        at
>>  >
>> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>>  > >        at
>>  >
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>>  > >        at
>>  >
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
>>  > >        at
>>  >
>> org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createEntityManager(CMPEntityManagerTxScoped.java:74)
>>  > >        at
>>  >
>> org.apache.geronimo.persistence.CMPEntityManagerTxScoped.getEntityManager(CMPEntityManagerTxScoped.java:55)
>>  > >        at
>>  >
>> org.apache.geronimo.persistence.CMPEntityManagerTxScoped.persist(CMPEntityManagerTxScoped.java:81)
>>  > >        at
>>  >
>> com.quesofttech.session.MaterialTestBean.testMaterialType(MaterialTestBean.java:63)
>>  > >        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:597)
>>  > >        at
>>  >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
>>  > >        at
>>  >
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
>>  > >        at
>>  >
>> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
>>  > >        at
>>  >
>> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
>>  > >        at
>>  >
>> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
>>  > >        at
>>  >
>> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
>>  > >        at
>>  >
>> org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:214)
>>  > >        at
>>  >
>> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:121)
>>  > >        at
>>  >
>> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
>>  > >        at
>>  > org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
>>  > >        at
>>  > org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
>>  > >        at
>>  > org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
>>  > >        at
>>  > org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:76)
>>  > >        at
>>  >
>> org.apache.openejb.server.ServiceAccessController.service(ServiceAccessController.java:55)
>>  > >        at
>>  > org.apache.openejb.server.ServiceDaemon$1.run(ServiceDaemon.java:118)
>>  > >        at java.lang.Thread.run(Thread.java:619)
>>  > > Caused by: java.lang.Exception: java.lang.NullPointerException
>>  > >        at
>>  >
>> org.apache.openjpa.util.Exceptions.replaceNestedThrowables(Exceptions.java:242)
>>  > >        at
>>  >
>> org.apache.openjpa.persistence.PersistenceException.writeObject(PersistenceException.java:100)
>>  > >        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:597)
>>  > >        at
>>  >
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>>  > >        at
>>  >
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
>>  > >        at
>>  >
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>  > >        at
>>  > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>  > >        at
>>  >
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>  > >        at
>>  >
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>  > >        at
>>  >
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>  > >        at
>>  > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>  > >        at
>>  > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>>  > >        at
>>  >
>> org.apache.openejb.client.ThrowableArtifact.writeExternal(ThrowableArtifact.java:49)
>>  > >        at
>>  >
>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
>>  > >        at
>>  >
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
>>  > >        at
>>  > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>  > >        at
>>  > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>>  > >        at
>>  >
>> org.apache.openejb.client.EJBResponse.writeExternal(EJBResponse.java:111)
>>  > >        at
>>  >
>> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:197)
>>  > >        ... 8 more
>>  > >
>>  > > <snip>
>>  > >
>>  >
>>
> 
> 


-----
B Amigo:super:
-- 
View this message in context: http://www.nabble.com/problem-JNDI-lookup-in-geronimo-tp16525445s134p21345528.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.