Mystery Of the Missing Java Agents
Something weird is happening with my Java Agents. Notes keeps randomly dropping it's "handle" on them.
If I create a WebQuerySave agent in Java it all works well until out of the blue I'll get an error like this:
HTTP Web Server: Lotus Notes Exception - Entry not found in index [/path.nsf/0/DOCID?SaveDocument]
If I remove the name of the Java agent from the Form it works fine. It seems to me like Domino is just forgetting the agent exists. Although, obviously, it does still exist. I can see/edit it in Designer.
The only solution I've found is to create a new Agent and paste the code from the forgotten agent to the new one and change the WQS event in the Form to the name of the new Agent. Simple renaming the old Agent doesn't work.
Needless to say this is very annoying. I'm starting to wonder why I didn't just stick with doing everything in LotusScript.
Anybody seen this behaviour before? I'm using Domino Designer 8.5.1 and the server is Domino 6.5.
To rub salt in the wound it's now happening with a Scheduled Java Agent which is telling me "Entry not found in index" in its log. Again, I had to create the agent from scratch.
I have run into issues with Java agents when I'm using a higher version of the designer client than the server version, so have had to save the agents on another pc that has a version of designer that is the same as the server.
Reply
The Domino Designer 8.5.1 handles Agents completely different (as checking them out as temp Java projects). So you might want to go and upgrade that server. Anyway: Domino 6.5 is JVM 1.3 and Domino 8.5 is 6.0.... you can expect quite some speed improvements.
:-) stw
Reply
Hi Stephan. Could the client/server mismatch explain the problems I'm getting?
Reply
Show the rest of this thread
Have I seen this before? I have seen so many wonky things happen in the Domino Designer over the years -- man, where do I begin.
Reply
I have experienced this EXACT same behavior. As I'm developing locally and deploying on an 8.5.1 server it is not a server issue.
As it is not easily duplicated I haven't submitted an SPR, but it is very frustrating.
Only work around I have found is to recreate the agent with the same name as you described.
Reply
In an odd way I'm glad to hear I'm not alone and that there's no point hassling the customer to upgrade their server.
But, then, if there's no solution...
Reply
Jake,
This is not directly related to your post (or to the browser client you mostly develop for), but still I thought it would be better to warn you.
Using an eclipse based notes designer to develop an application, will produce a *.nsf with "special" objects within it, that may crash older Notes Clients.
See this post for more details: http://lekkimworld.com/2009/07/09/why_you_should_develop_with_the_same_version_as_your_users_use.html
(my experience in the comment: http://lekkimworld.com/2009/07/09/why_you_should_develop_with_the_same_version_as_your_users_use.html#comment1247142925468).
You never know what other side effects the Eclipse Designer development may have...
Reply
There are lots of problems related to 8.5.1 and code disappearing, I have at least 3 different situations identified:
1.) Java source code disappears from agents and script libraries, and have to be copied back in (this is your issue I believe)
2.) If you open Java perspective, and create a java package and som java files to go with it, the designer will usually delete them on exit (or is it restart). I know IBM is aware of at least this issue. I get around this by creating a jarfile in eclipse instead, and putting this on the server.
3.) I think I identified another issue yesterday, when one of our clients website suddenly threw an error, complaining that a Server Side Javascript library was missing, and my xPage could not call it. A resave of the xpage fixed that issue. This is actually the second time I see this, so it's not a "fluke". I suspect the compiled class file somehow disappeared....
I bet most of these are related to the virtual filesystem that IBM has created on top of notes to get eclipse to talk to the nsf.
I know IBM are aware of some of these issues, and hopefully they are fixed in 8.5.2 (now in beta), but I have not yet had the opportunity to try it out.
Reply
Hi Bjørn,
Do you know when it's likely to happens? Does it just happen at any point - for no reason - or does it get triggered by a save in designer? What worries me is the idea that I could test my work, deliver it to customer, get it up and running only for it then to break for no reason. Could that happen? If so I need to consider reverting back to Lotuscript.
Jake
Reply
Bjørn,
The intended - and safe - place for your Java files inside the NSF is /WebContent/WEB-INF/src (you need to create the src folder and add it to the classpath). The default location "local" in the classpath is for generated files only and all other stuff will be overwritten / removed.
Stick to the /WebContent/WEB-INF/src location.
Hth
:-) stw
Reply
Show the rest of this thread
I have seen that problem a few times before. Did you copy/rename the agent from the list of agent-designelements? (not sure this is related) but i have encountered some wierd behavior by copy/and or renaming agents directly from the agent list (clicking on the agent name).
Fredrik
Reply
Hi Fredrik,
More than likely, yes I did copy/rename the agents. That's how I tend to work.
Although the agents I've since added to fix the "not found" problem are created from scratch, so let's hope you're right and it doesn't happen to them too....
Jake
Reply
I'm also experiencing this issue. Everything in my app is fine, except for Java agents. I have spent quite some time reimplementing all my Java Code recently, because everything was broken when I opened the ntf in 8.5.1, and now this. After 15 years of Notes/Domino, I'm really wondering if it's time to quit...
But still, the app needs to run. Does anybody have new info on this?
Reply
Hi Frank,
It's not happened to me again since I wrote this blog entry almost 3 weeks ago even though I've been using Java agents just as much. The only thing I can put this down to is that I took the advice given above that you don't copy/paste an existing Java agent when you need a new one (which is what I normally always do).
Since I stopped copying existing Java agents it's stopped happening. Perhaps coincidence, perhaps not?
Jake
Reply