11 Replies Latest reply on Nov 30, 2009 1:59 PM by Peter Johnson

    JBoss4.0.5GA integration with Lotus Domino mail server on li

    Venu Sukka Newbie

      Can anyone provide information on configuring Lotus Domino mail server with JBoss 4.0.5 application server .
      Server is installed on Linux environment.

      Thanks!

        • 1. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
          Peter Johnson Master

          It should be just a matter of editing the server/xxx/deploy/mail-service.xml file.

          • 2. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
            Venu Sukka Newbie

            yes i did the same received name not found exception

            javax.naming.NameNotFoundException: mail not bound

            its working fine for Exchange server

            • 3. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
              Peter Johnson Master

              Shouldn't it be "Mail", not "mail"?

              What is getting the error? A full stack trace might have helped.

              • 4. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                Venu Sukka Newbie

                sorry here is the complete error.... we are using mail/Email as JNDI key

                Looking up for jndi entry. Key = mail/EMail
                2009-11-24 14:34:36,533 DEBUG [http-0.0.0.0-8080-5] [] [] - Looking up for jndi entry. Key = java:comp/env/mail/EMail
                2009-11-24 14:34:36,538 ERROR [http-0.0.0.0-8080-5] [] [] - JNDI Entry Not Foundmail not bound
                javax.naming.NameNotFoundException: mail not bound
                at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
                at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
                at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
                at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
                at org.jnp.server.NamingServer.lookup(NamingServer.java:270)
                at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
                at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:716)
                at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
                at javax.naming.InitialContext.lookup(InitialContext.java:351)
                .....
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
                at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)
                at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
                at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
                at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
                at java.lang.Thread.run(Thread.java:595)

                • 5. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                  Peter Johnson Master

                  OK, this tells half of the story - looks like your servlet is looking up the mail service in JNDI. How about the other half - the mail-service.xml file excerpt showing the jndi name specified. Also, did you use JNDIView to verfiy the JNDI name of the mail service?
                  http://www.jboss.org/community/wiki/DisplayTheJNDITreeWithTheJMXConsole

                  • 6. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                    Venu Sukka Newbie

                    here is the mail-service.xml entry for JNDI Name

                    <attribute name="JNDIName">mail/Email</attribute>
                    
                    JNDI View extract
                    
                    Global JNDI Namespace
                     +- TopicConnectionFactory (class: org.jboss.naming.LinkRefPair)
                     +- jmx (class: org.jnp.interfaces.NamingContext)
                     | +- invoker (class: org.jnp.interfaces.NamingContext)
                     | | +- RMIAdaptor (proxy: $Proxy42 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt)
                     | +- rmi (class: org.jnp.interfaces.NamingContext)
                     | | +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef)
                     +- wm (class: org.jnp.interfaces.NamingContext)
                     | +- default (class: de.myfoo.commonj.work.FooWorkManager)
                     +- HTTPXAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                     +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
                     +- mail (class: org.jnp.interfaces.NamingContext)
                     | +- Email (class: javax.mail.Session)
                    


                    • 7. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                      Peter Johnson Master

                       

                      Looking up for jndi entry. Key = java:comp/env/mail/EMail

                      You are looking for the name is the wrong place - this is the ENC location. you need to look for the name in ther global namespace. In other words, look for "mail/EMail", not "java:comp/env/mail/EMail".

                      • 8. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                        Venu Sukka Newbie

                        sorry not sure i have understood it correctly..

                        here is the complete java and global JNDI name space


                        java: Namespace
                         +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                         +- DefaultDS (class: javax.sql.DataSource)
                         +- SecurityProxyFactory (class: org.jboss.security.SubjectSecurityProxyFactory)
                         +- timer (class: org.jnp.interfaces.NamingContext)
                         | +- timer (class: de.myfoo.commonj.timers.FooTimerManager)
                         +- DefaultJMSProvider (class: org.jboss.jms.jndi.JNDIProviderAdapter)
                         +- comp (class: javax.naming.Context)
                         +- JmsXA (class: org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl)
                         +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
                         +- jaas (class: javax.naming.Context)
                         | +- other (class: org.jboss.security.plugins.SecurityDomainContext)
                         | +- HsqlDbRealm (class: org.jboss.security.plugins.SecurityDomainContext)
                         | +- jbossmq (class: org.jboss.security.plugins.SecurityDomainContext)
                         | +- JmsXARealm (class: org.jboss.security.plugins.SecurityDomainContext)
                         +- timedCacheFactory (class: javax.naming.Context)
                        Failed to lookup: timedCacheFactory, errmsg=org.jboss.util.TimedCachePolicy
                         +- TransactionPropagationContextExporter (class: org.jboss.tm.TransactionPropagationContextFactory)
                         +- StdJMSPool (class: org.jboss.jms.asf.StdServerSessionPoolFactory)
                         +- TransactionPropagationContextImporter (class: org.jboss.tm.TransactionPropagationContextImporter)
                         +- TransactionManager (class: org.jboss.tm.TxManager)
                        
                        Global JNDI Namespace
                         +- TopicConnectionFactory (class: org.jboss.naming.LinkRefPair)
                         +- jmx (class: org.jnp.interfaces.NamingContext)
                         | +- invoker (class: org.jnp.interfaces.NamingContext)
                         | | +- RMIAdaptor (proxy: $Proxy42 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt)
                         | +- rmi (class: org.jnp.interfaces.NamingContext)
                         | | +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef)
                         +- wm (class: org.jnp.interfaces.NamingContext)
                         | +- default (class: de.myfoo.commonj.work.FooWorkManager)
                         +- HTTPXAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                         +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
                         +- mail (class: org.jnp.interfaces.NamingContext)
                         | +- Email (class: javax.mail.Session)
                         +- jdbc (class: org.jnp.interfaces.NamingContext)
                         | +- CLMDataSource (class: javax.sql.DataSource)
                         +- UserTransactionSessionFactory (proxy: $Proxy12 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
                         +- HTTPConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
                         +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                         +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
                         +- UILXAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
                         +- UIL2XAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
                         +- queue (class: org.jnp.interfaces.NamingContext)
                         | +- A (class: org.jboss.mq.SpyQueue)
                         | +- testQueue (class: org.jboss.mq.SpyQueue)
                         | +- ex (class: org.jboss.mq.SpyQueue)
                         | +- DLQ (class: org.jboss.mq.SpyQueue)
                         | +- D (class: org.jboss.mq.SpyQueue)
                         | +- C (class: org.jboss.mq.SpyQueue)
                         | +- B (class: org.jboss.mq.SpyQueue)
                         +- topic (class: org.jnp.interfaces.NamingContext)
                         | +- testDurableTopic (class: org.jboss.mq.SpyTopic)
                         | +- testTopic (class: org.jboss.mq.SpyTopic)
                         | +- securedTopic (class: org.jboss.mq.SpyTopic)
                         +- console (class: org.jnp.interfaces.NamingContext)
                         | +- PluginManager (proxy: $Proxy43 implements interface org.jboss.console.manager.PluginManagerMBean)
                         +- UIL2ConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
                         +- HiLoKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory)
                         +- UILConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
                         +- QueueConnectionFactory (class: org.jboss.naming.LinkRefPair)
                         +- UUIDKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory)
                        



                        here is the extract from the application log file...we are searching mail/Email first and then if not found looking for jndi entry java:comp/env/mail/Email

                        Looking up for jndi entry. Key = mail/EMail
                        Looking up for jndi entry. Key = java:comp/env/mail/EMail
                        JNDI Entry Not Foundmail not bound
                        javax.naming.NameNotFoundException: mail not bound
                         at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
                         at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
                         at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
                         at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
                         at org.jnp.server.NamingServer.lookup(NamingServer.java:270)
                         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
                         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:716)
                         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
                         at javax.naming.InitialContext.lookup(InitialContext.java:351)
                        


                        • 9. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                          Peter Johnson Master

                          It looks like the first lookup succeeded and the second failed.

                          • 10. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                            Venu Sukka Newbie

                            sorry for the confusion ...second time its lookup only if first lookup is failed
                            in the catch block its trying with java:comp/env/

                            here is the code extract

                            //jndi entry initially mail/Email
                            try {
                            obj = ctx.lookup(jndiEntry);
                            } catch (NameNotFoundException nnfe) {
                            ////jndiEntry concatenatted with java:comp/env/
                            obj = ctx.lookup(jndiEntry);
                            }
                            


                            • 11. Re: JBoss4.0.5GA integration with Lotus Domino mail server o
                              Peter Johnson Master

                              I doubly-checked the JNDI namespace, the name should be "mail/Email", not "mail/EMail". Also, you never printed out the stack trace for the first exception, which would probably tell you the "EMail" was not found.