I'm trying to use the @EJB annotation on a stateless session bean in a servlet and having troubles getting it to work. I've read some other posts on the issue and supposedly it 'should' work, so I'd love some help trying to figure out what I'm doing wrong.
I posted the simple source code here: http://dl-client.getdropbox.com/u/86998/learntechnology-maven-jee.zip If you run "mvn install" it will build a user-adminstration.ear in the lt-ear/target directory. When deployed to JBoss .. try to access the URL: http://localhost:8080/sample/hello The Stateless session bean never gets set. (You end up with a NPE.) I'll post some of the relevant code. .. //lt-ejb-jar: | @Local | public interface UserService { | public String helloWorld(String s); | } | | @Stateless | public class UserServiceBean implements UserService { | | public String helloWorld(String s) { | return "Hello World: "+s; | } | } | //lt-web.war... | public class SayHelloServlet extends HttpServlet { | private static final long serialVersionUID = 1L; | | //not working: @EJB(mappedName="user-administration/UserServiceBean/local") | //works: private UserService userService = (UserService) ServiceLocator.getEJB("user-administration/UserServiceBean/local"); | | //not working: | @EJB | private UserService userService; | | public void init() throws ServletException { | super.init(); | } | | protected void doGet(HttpServletRequest req, HttpServletResponse resp) | throws ServletException, IOException { | doPost(req, resp); | } | | protected void doPost(HttpServletRequest req, HttpServletResponse response) | throws ServletException, IOException { | System.out.println("userService = " + userService); | response.setContentType("text/plain"); | response.getOutputStream().println("Servlet Test: "); | response.getOutputStream().println(userService.helloWorld("My test")); | } | } | web.xml | <?xml version="1.0" encoding="UTF-8"?> | | <web-app xmlns="http://java.sun.com/xml/ns/j2ee" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee | http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" | version="2.4"> | | <servlet> | <servlet-name>SayHelloServlet</servlet-name> | <servlet-class> | net.learntechnology.web.SayHelloServlet | </servlet-class> | <load-on-startup>0</load-on-startup> | </servlet> | | <servlet-mapping> | <servlet-name>SayHelloServlet</servlet-name> | <url-pattern>/hello</url-pattern> | </servlet-mapping> | | </web-app> | Thanks for any help with this. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4179690#4179690 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4179690 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user