I use a class (named Portable) in an ejb's method like this :

package com.thales.is.business.sommaire.impl;

import com.thales.is.business.sommaire.*;

import javax.naming.*;
import javax.sql.*;

import javax.ejb.*;
import java.sql.*;
import java.util.*;
import com.thales.is.shared.util.*;

public class SommaireBean implements SessionBean {

  private static final String jndiDb = "java:comp/env/jdbc/InformixDB";

  public Iterator domaines() throws Exception
  {
      Connection cnx = null;

      try {

         //obtain connection to DB
         cnx = Portable.getConnectionOfPool(jndiDb);
         stmt = cnx.createStatement();
         res = stmt.executeQuery("...");
...
      }
      catch (Exception e) {
....
      }
      finally {
....
      }
      return new SerIterator(list);
  }
}

My class Portable :

package com.thales.is.shared.util;

import javax.naming.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import javax.rmi.*;

public class Portable {

...

    public static Connection getConnectionOfPool (String db) {

     DataSource ds = null;
     Connection cnx = null;

        try {
            ds = (DataSource) new InitialContext().lookup(db);
            cnx = ds.getConnection();
...
      }
...
     return cnx;
    }
}

When i call the method domaines  in a JSP page, this exception occure :

An exception was thrown: java.rmi.ServerException: Transaction rolled
back:com/thales/is/shared/util/Portable

With the following stack trace:

java.rmi.ServerException: Transaction rolled
back:com/thales/is/shared/util/Portable
        at
org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:300)

        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:87)

        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:137)

        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195)
        at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:271)

        at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:461)

        at
org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(StatelessSessionProxy.java:152)

        at $Proxy103.domaines(Unknown Source)
        at
_0002fAcceuil_0005fejb_0002ejspAcceuil_0005fejb_jsp_50._jspService(_0002fAcceuil_0005fejb_0002ejspAcceuil_0005fejb_jsp_50.java:88)

        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)

        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)

        at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)

        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)

        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)

        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)

        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)

        at java.lang.Thread.run(Unknown Source)

My JSP :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

<%@ page language="java"  %>
<%@ page errorPage="yaunos.jsp" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="com.thales.is.business.sommaire.*" %>
<%@ page import="com.thales.is.shared.util.*" %>

<%
    SommaireHome home =
(SommaireHome)Portable.lookUpEJB("sommaire/Sommaire",SommaireHome.class);

    Sommaire som =  home.create();
    Iterator domaines = som.domaines();
%>

I don't understand why ???

thanks

manuel


_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to