DIIOP refusing connections at random?

Not sure this is the right place for this…

I’m having some problems with DIIOP on Domino r6.0.5. I have a couple java servlets that

use the notesfactory classes to open a LTPA connection via DIIOP. They

work perfectly, however at random DIIOP will stop responding to the IP

address that the servelets use. This can be the public internet IP, the

internal IP or (since the servlets are running on the same Domino

server they’re talking to) 127.0.0.1. When DIIOP stops responding,

nothing I do short of a full reboot of Domino will bring it back online

(tell DIIOP quit & load DIIOP dont work). DIIOP just stops responding

to that IP. However if I change the IP in the servelets (its hard coded

since the intention was that the servlets would allways talk to

127.0.0.1) it’ll start working again for a while.

So it would seem to be Ip route based, but I’m at a total loss as to

what to do about it.

if (sessionToken == null) {

    System.out.println("jDom : " + uName + " \\ " + uPass); 

    Session session = NotesFactory.createSession("127.0.0.1:63148", uName, 

uPass);

    lToken = session.getSessionToken(); 

    session.recycle(); 

}

As you can see, my code for the connection is not complex. When it

fails I get a null pointer error that resolves to “connection refused”

from the notesfactory object. The prinln statement is to debug that a

username and password exist and are correct, which they allways are

since they are passed to the servlet via the URL and the URL dosn’t

change.

Subject: DIIOP refusing connections at random?

  1. Is this code always going to be accessing Domino on the same machine and as the same user? If so you can use a local connection. This is a whole bunch faster, but if you need to connect as separate users then thats probably a no go.

  2. I have found some very bizarre happenings with recycle() over remote connections. What happens if you don’t recycle the session?

Simon

Subject: RE: DIIOP refusing connections at random?

It will allways be local, however chaning the IP is the only way I’ve found to get DIIOP to start responding again.

I cant use a local session because this is a servlet that takes in a username and password from another system. Its a single signon kludge realy. But getSession() wont work.

Subject: DIIOP refusing connections at random?

here is the java error dump from the servlet in question.

01/08/2007 01:57:33 PM HTTP JVM: java.lang.NullPointerException

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.cso.Session.initSession(Unknown Source)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.cso.Session.(Unknown Source)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.cso.Session.createSession(Unknown Source)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.NotesFactory.createSessionUP(Unknown Source)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.NotesFactory.createSession(Unknown Source)

01/08/2007 01:57:33 PM HTTP JVM: at jDom.doGet(jDom.java:60)

01/08/2007 01:57:33 PM HTTP JVM: at javax.servlet.http.HttpServlet.service(HttpServlet.java:499)

01/08/2007 01:57:33 PM HTTP JVM: at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.servlet.DominoServletInvoker.executeServlet(DominoServletInvoker.java:283)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.servlet.DominoServletInvoker.service(DominoServletInvoker.java:224)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.servlet.ServletManager.service(ServletManager.java:245)

01/08/2007 01:57:33 PM HTTP JVM: java.lang.NullPointerException

01/08/2007 01:57:33 PM HTTP JVM: at jDom.encode(jDom.java:257)

01/08/2007 01:57:33 PM HTTP JVM: at jDom.doGet(jDom.java:71)

01/08/2007 01:57:33 PM HTTP JVM: at javax.servlet.http.HttpServlet.service(HttpServlet.java:499)

01/08/2007 01:57:33 PM HTTP JVM: at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.servlet.DominoServletInvoker.executeServlet(DominoServletInvoker.java:283)

01/08/2007 01:57:33 PM HTTP JVM: at lotus.domino.servlet.DominoServletInvoker.service(DominoServletInvoker.java:224)