I had the same error, but I don't want to close the connection in my ejb 
method, because if I do that, I can't work with my database. Is there any way 
to keep the connection open and close it manually outside the ejb method?

Here's is my code:

index.jsp

  | (...)
  | Connection conn=null;
  | String nombre_proceso="";
  | try{
  |     InitialContext ctx = getInitialContext();
  |     paquetegestionDB.gestionDBHome home =  
paquetegestionDB.gestionDBHome)ctx.lookup("gestionDB");
  |     paquetegestionDB.gestionDB the_ejb = home.create();
  |     conn=the_ejb.conectar();
  |     (...)
  | ctx.close();
  | the_ejb.remove();
  | }
  | catch(RemoteException e){
  | (...)
  | }
  | 
  | finally
  | {
  |     try 
  |     {
  |     if (conn!=null)
  |             if (!conn.isClosed())
  |                     conn.close();
  |     }catch(Exception ignore){  System.out.println("error......."); }
  | }
  | 

This is my ejb method conectar:


  | public static Connection conectar()
  |         throws SQLException, RemoteException
  |     {
  |         System.out.println("Intentamos hacer la conexiÃn");
  |         Context ctx = null;
  |         Hashtable ht = new Hashtable();
  |         Connection conn = null;
  |         
ht.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
 
  |         ht.put(Context.PROVIDER_URL,"localhost");
  |         //ht.put(Context.URL_PKG_PREFIXES, 
"org.jboss.naming:org.jnp.interfaces");
  |         try 
  |         {
  |             ctx = new InitialContext(ht);
  |             //ctx = new InitialContext();
  |             DataSource ds = (DataSource)ctx.lookup("java:/OracleDS");
  |             conn = ds.getConnection();
  |             System.out.println("Se ha realizado la conexi\363n con 
\351xito");
  |             return conn;
  |         }
  |         catch(Exception e)
  |         {
  |             System.out.println("Error:" + e);
  |             e.printStackTrace();
  |             return null;
  |         }
  |     }
  | 

This is my oracle-ds.xml

  | <datasources>
  |   <local-tx-datasource>
  |     <jndi-name>OracleDS</jndi-name>
  |     <connection-url>jdbc:oracle:thin:@ip:1521:schema</connection-url>
  |     <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
  |     <user-name>...</user-name>
  |     <password>...</password>
  |      <metadata>
  |          <type-mapping>Oracle9i</type-mapping>
  |       </metadata>
  |   </local-tx-datasource>
  | </datasources>
  | 

And my ejb-jar.xml 

  | <ejb-jar>
  |    <enterprise-beans>
  |       <session>
  |          <display-name>gestionDBEJB</display-name>
  |          <ejb-name>gestionDB</ejb-name>
  |          <home>paquetegestionDB.gestionDBHome</home>
  |          <remote>paquetegestionDB.gestionDB</remote>
  |          <ejb-class>paquetegestionDB.gestionDBEJB</ejb-class>
  |          <session-type>Stateless</session-type>
  |          <transaction-type>Container</transaction-type>
  | 
  |              <resource-ref>
  |                     <res-ref-name>OracleDS</res-ref-name>
  |                     <res-type>javax.sql.DataSource</res-type>
  |                     <res-auth>Application</res-auth>
  |          </resource-ref>   
  |  
  |      </session>
  |    </enterprise-beans>
  | 
  |    <assembly-descriptor>
  |       <container-transaction>
  |         <method>
  |             <ejb-name>gestionDB</ejb-name>
  |             <method-name>*</method-name>
  |         </method>
  |         <trans-attribute>Required</trans-attribute>
  |       </container-transaction>
  | 
  |       <security-role>
  |          <description>Users</description>
  |          <role-name>users</role-name>
  |       </security-role>
  |    </assembly-descriptor>
  | </ejb-jar>
  | 

And finally, my jboss.xml:

  | <jboss>
  |     <enterprise-beans>
  |             <session>
  |                     <ejb-name>gestionDB</ejb-name>
  |                     <jndi-name>gestionDB</jndi-name>
  |                     <resource-ref>
  |                     <res-ref-name>OracleDS</res-ref-name>
  |                     <jndi-name>java:/OracleDS</jndi-name>
  |          </resource-ref>            
  |             </session>
  |     </enterprise-beans>
  | </jboss>
  | 

And that's the error I get:

14:51:04,327 INFO  [CachedConnectionManager] Closing a connection for you.  Plea
se close them yourself: [EMAIL PROTECTED]
0
java.lang.Exception: STACKTRACE
        at org.jboss.resource.connectionmanager.CachedConnectionManager.register
Connection(CachedConnectionManager.java:319)
        at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateC
onnection(BaseConnectionManager2.java:477)
        at org.jboss.resource.connectionmanager.BaseConnectionManager2$Connectio
nManagerProxy.allocateConnection(BaseConnectionManager2.java:838)
        at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(Wrapp
erDataSource.java:102)
        at paquetegestionDB.gestionDBEJB.conectar(gestionDBEJB.java:82)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)

(..)

14:51:04,549 ERROR [Engine] StandardWrapperValve[jsp]: Servlet.service() for ser
vlet jsp threw exception
java.lang.NullPointerException
        at org.apache.jsp.index_jsp._jspService(index_jsp.java:232)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:324)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
92)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
lter.java:75)

(...)

Thanks in advance

Esther


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

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


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to