[jboss-user] [EJB 3.0] - EJB3 with Eclipse

pipo323400 do-not-reply at jboss.com
Fri Jan 4 10:27:10 EST 2008


Hi, 

We are trying to work a simple EJB 3 application. Our goal is to post a stateless bean and acces to it from a web application.

We are developing it with eclipse. Here is the program structure:
-A java application that contains two interfaces and the bean (also a metainf) to implement the stateless bean.
-A web application 2.4 (we had tried also with 2.5).

We deploye the bean as a jar in the jboss, and it seems to recognize it. But when we try to acces with the web app (via servlet) we got an java.nullPointerException.

Ejb Code:


  | import java.sql.ResultSet;
  | import java.sql.SQLException;
  | import javax.ejb.Remote;
  | 
  | 
  | /**
  |  * This is the business interface for Carp enterprise bean.
  |  */
  | @Remote
  | public interface EjbRemote {
  | 
  |     boolean doStatement(String queryName) throws SQLException;
  | 
  |     ResultSet doQuery(String query) throws SQLException;
  |     
  |     void printQuery(String query);
  | }
  | 


  | import java.sql.ResultSet;
  | import java.sql.SQLException;
  | import javax.ejb.Local;
  | @Local
  | public interface EjbLocal {
  | 
  |     boolean doStatement(String queryName) throws SQLException;
  | 
  |     ResultSet doQuery(String query) throws SQLException;
  |     
  |     void printQuery(String query);
  | }
  | 


  | import javax.annotation.Resource;
  | import javax.ejb.Stateless;
  | import javax.sql.DataSource;
  | import java.sql.Statement;
  | import java.sql.Connection;
  | import java.sql.ResultSet;
  | import java.sql.SQLException;
  | 
  | @Stateless
  | public class EjbBean implements EjbLocal, EjbRemote {
  | 
  | 	@Resource(mappedName = "TACWDS") DataSource TACWDS;
  |     
  |     public EjbBean() {
  | 
  |     }
  |     
  |     public boolean doStatement(String query) {
  |         //TODO implement doStatement
  |         return false;
  |     }
  | 
  |     public final ResultSet doQuery(String query) throws SQLException {
  |     	System.out.println("Esecuzione query : " + query);
  |         Connection conn = TACWDS.getConnection();
  |         Statement stm = conn.createStatement();
  |         return stm.executeQuery(query);
  |     }
  |     
  |     public final void printQuery(String query) {
  |     	System.out.println("Esecuzione query : " + query);
  |     }
  | }
  | 

Servlet Code:


  | 
  | public class appServlet extends HttpServlet {
  |     @EJB EjbLocal sless;
  | 
  |     public void service(HttpServletRequest req, HttpServletResponse resp) 
  |             throws ServletException, IOException{    	
  | 
  |         resp.setContentType("text/html");
  |         PrintWriter out = resp.getWriter();
  |         //sless.printQuery("SELECT * FROM FOO");
  |         
  |         System.out.println("sless state: "+sless);
  |     }
  | }
  | 

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

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



More information about the jboss-user mailing list