[jboss-user] [EJB 3.0] - Re: Remote Not bound -- Help me !

Sukar1205 do-not-reply at jboss.com
Thu Sep 20 11:40:59 EDT 2007


I got it working inserting customers in the table..
but now I have another problem.. I am trying to delete customers from the table but first i have to find them before deleting.

This is my Bean class


  | @Stateless
  | public class CustomerBean implements CustomerRemote {
  |     
  |     @Resource(mappedName = "java:/SQL")
  |     private DataSource SQL;
  |     
  |     @PersistenceContext private EntityManager em;
  |     
  |     private Connection c = null; 
  | 
  |     public CustomerBean() throws SQLException {
  |         c = SQL.getConnection();
  |     }
  |     
  |     public void addCustomer(TempCustomer a){
  |          em.persist(a);
  |     }
  |     
  |     public TempCustomer findCustomerbyID(int id) {
  |         return em.find(TempCustomer.class, id);
  |     } 
  |     
  |     public void deleteCustomer(TempCustomer b) {
  |           em.remove(b);
  |     }
  | }
  | 

and this is my main again but this time I am only testing if I can find the customers.. then deleting them.


  |  public static void main(String[] args) throws Exception {
  |  
  |         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  |         String url = "jdbc:sqlserver://localhost:1433;database=jdocxpt";
  |         conn = DriverManager.getConnection(url, "sa", "dev");
  |         Client c = new Client();
  |         CustomerRemote r = c.lookupCustomerBean();
  | 
  |         //finding the customers
  |         TempCustomer found = r.findCustomerbyID(7);
  | 
  |         if(found.getId() != 0){
  |             r.deleteCustomer(found);
  |         }
  |     }
  | 
 if I comment this line of code c = SQL.getConnection(); i will get an exception saying cannot open connection but if it wasn't I get some other Exception and that Exception is


  | Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  |         at org.jboss.ejb3.EJBContainer.construct(EJBContainer.java:523)
  |         at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:66)
  |         at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:61)
  |         at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
  |         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278)
  |         at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  |         at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734)
  |         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560)
  |         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369)
  |         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165)
  | Caused by: java.lang.reflect.InvocationTargetException
  |         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  |         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  |         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  |         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  |         at org.jboss.ejb3.EJBContainer.construct(EJBContainer.java:511)
  |         at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:66)
  |         at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:61)
  |         at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
  |         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278)
  |         at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  |         at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734)
  |         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560)
  |         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369)
  |         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165)
  |         at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
  |         at org.jboss.remoting.Client.invoke(Client.java:1550)
  |         at org.jboss.remoting.Client.invoke(Client.java:530)
  |         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)
  |         at $Proxy0.findCustomerbyID(Unknown Source)
  |         at ejb.Client.main(Client.java:52)
  |         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)
  |         at $Proxy0.findCustomerbyID(Unknown Source)
  |         at ejb.Client.main(Client.java:52)
  | Caused by: java.lang.NullPointerException
  |         at ejb.CustomerBean.<init>(CustomerBean.java:46)
  |         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  |         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  |         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  |         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  |         at org.jboss.ejb3.EJBContainer.construct(EJBContainer.java:511)
  |         at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:66)
  |         at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:61)
  |         at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
  |         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278)
  |         at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  |         at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  |         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734)
  |         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560)
  |         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369)
  |         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165)
  | Java Result: 1
  | 

I know you need to open a connection in the bean class to connect to the table to look for customer. But I think I am doing it wrong ... a small help would be great thanks for you help. i really appreciate it. 

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4086769



More information about the jboss-user mailing list