users@glassfish.java.net

[JMS] ConnectionFactory & Topic not set!

From: Alexis Midon <alexismidon_at_gmail.com>
Date: Tue, 26 Sep 2006 17:38:57 +0200

Hi all,

I try to post messages into a topic from a servlet through a stateless ejb.
To that aim I've followed successfully the sun jee tutorial, especially the
clientsessionmdb example (javaeetutorial5\examples\jms\clientsessionmdb).
Everything works fine in the default domain, but when it comes to test on my
domain, I get some exceptions.

In a first time, I simply copy/paste the tutorial code, having create the
same jms resources (and use "asadmin list-*" to check)
But at runtime some NullPointerExceptions occur :(

With more logging in my PublisherBean, it seems that Glassfish does not
consider my bean as a bean, I bean that the interceptor methods are not
invoked, my ConnectionFactory and Topic are null, despite the @Resource
annotations. However deployment runs fine.

Next step is to understand the reason why, and that's not the easy part!
Activating logging is useless, even FINEST on the root logger does not dump
any additional info.
I'm stuck with that NullPointerException.

So my questions are:
Do you no any tricks to point out the problem?
Is there any security settings (roles, rights, etc)?
What can be wrong?

Many thanks in advance for your help!

Alexis

==============================
Servlet Source Code
==============================

public class NewsPublisherServlet extends HttpServlet {

    private final String cname = this.getClass().getName();

    protected void service(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
        String mname = "service";
        Trace.entering(cname, mname);

        try {
            // Gets the PublisherBean
            new PublisherBean().publishNews();

            // Goes to the index page passing the request

getServletContext().getRequestDispatcher("/index.jsp").forward(request,
response);
        } catch (Exception e) {
            Trace.throwing(cname, mname, e);

getServletContext().getRequestDispatcher("/error.jsp?exception=While
publishing messages!").forward(request, response);
        }
    }
}


=====================================
Exceptions
=====================================
[#|2006-09-26T17:33:
24.962+0200|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=23
;_ThreadNam
e=httpWorkerThread-8080-0;_RequestID=f74c3809-7e28-49c1-aad8-6c25d3c608c6;|ApplicationDispatcher[/hello]
"Servlet.servic
e()" pour la servlet jsp a lancé une exception
java.lang.NullPointerException
        at org.apache.jsp.error_jsp._jspService(error_jsp.java:25)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java
:111)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.jasper.servlet.JspServletWrapper.service(
JspServletWrapper.java:353)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(
JspServlet.java:409)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:317)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(
ApplicationFilterChain.java:397)
        at org.apache.catalina.core.ApplicationDispatcher.doInvoke(
ApplicationDispatcher.java:850)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(
ApplicationDispatcher.java:697)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(
ApplicationDispatcher.java:532)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(
ApplicationDispatcher.java:465)
        at org.apache.catalina.core.ApplicationDispatcher.forward(
ApplicationDispatcher.java:353)
        at com.yaps.hello.web.servlet.jms.NewsPublisherServlet.service(Unknown
Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(
ApplicationFilterChain.java:397)
        at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:278)
        at org.apache.catalina.core.StandardPipeline.doInvoke(
StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(
StandardPipeline.java:536)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(
StandardContextValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:179)
        at org.apache.catalina.core.StandardPipeline.doInvoke(
StandardPipeline.java:566)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:182)
        at org.apache.catalina.core.StandardPipeline.doInvoke(
StandardPipeline.java:566)
        at com.sun.enterprise.web.VirtualServerPipeline.invoke(
VirtualServerPipeline.java:120)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java
:939)
        at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:137)
        at org.apache.catalina.core.StandardPipeline.doInvoke(
StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(
StandardPipeline.java:536)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java
:939)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(
CoyoteAdapter.java:231)
        at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(
ProcessorTask.java:667)
        at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(
ProcessorTask.java:574)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(
ProcessorTask.java:844)
        at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(
ReadTask.java:287)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(
ReadTask.java:212)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(
TaskBase.java:252)
        at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(
WorkerThread.java:75)