March 30, 2012

Recycle() XPages repeat control?

I`m currently looking into memory management in Lotus Notes XPages applications. I understand that ideally every domino object should be recycled, especially when looping large collections and new`ing up large amounts domino objects.

What about the xp:repeat control? When I set a large NotesViewEntryCollection as value for a repeater (by just calling database.getView('x').getAllEntries()), how should this be recycled? Does it have to be recycled? The documents are commonly used further on in the repeater by calling 'curItem.getColumnValues()[x]' to build up the xpages content.

January 13, 2012

XPages fileupload control and mime types

I have a problem uploading an image to a form field using the built in xpages fileuploader control. The form field the image is saved to is configured like explained in this blog post by Mats Knutsen: http://devxpages.blogspot.com/2011/03/display-picture-from-rich-text-field.html . I Also plan to display the image in an xpage using the template described in the blog post, like this (http://server/MyDatabase.nsf/viewunid/docunid/imageField/M2?OpenElement).

I know my fileuploader control points to the correct field in the form, since i can see the image in the document using the Lotus Notes Client after the document is created. However; the picture can not be viewed using "http://server/MyDatabase.nsf/viewunid/docunid/imageField/M2?OpenElement" at this point.

On the other hand, if I delete the field contents (the image) from the document field in the client, go back to the xpage with the fileuploader control, and uploads the image a second time, it works perfectly, and the image can be viewed using the url mentioned above.

This image shows my xpages fileupload control code:








This image displays the field properties of the field in the document the image is saved to the first time the fileuploader is used:















If I then delete the contents of the field in the picture above, and re-enters the document in the xpage, uploading the image once again using the file uploader, everything works fine, and i get the field properties of the document as displayed below:
















Does anyone know why my file uploader control does not work the first time i upload the image, but when I edit the document and upload the image a second time, everything seems to be ok?

October 26, 2011

err.PersistenceServiceResourceProvider error in logs

I keep getting these errors in the log:

26.10.2011 09:04:09 HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/IBM/Lotus/Domino/data/domino/workspace/logs
26.10.2011 09:04:09 HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/IBM/Lotus/Domino/data/domino/workspace/logs
26.10.2011 09:04:09 HTTP JVM: !err.PersistenceServiceResourceProvider.Errorwritingtopersistedcontenttor!. For more detailed information, please consult error-log-0.xml located in D:/IBM/Lotus/Domino/data/domino/workspace/logs

Does anyone have a clue what is causing them ? Detailed logs wont give me any more specifics..

October 4, 2011

HTTP JVM: CLFAD0134E: Exception processing XPage request

On our server we keep getting these "informal" errors.. When I consult the error logs they are equally "informal". Since there is quite a large number of XPages and bases, it is not trivial to start commenting out code etc to know where the error is occurring...
Does anybody know WHY,WHAT and WHERE this error occurs? Getting really frustrated with this now..


HTTP JVM: com.ibm.xsp.webapp.FacesServlet$ExtendedServletException: com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
HTTP JVM: CLFAD0134E: Exception processing XPage request. For more detailed information, please consult error-log-0.xml located in D:/IBM/Lotus/Domino/data/domino/workspace/logs

FROM error-log-0:
View log here

September 21, 2011

Can't find resource for bundle java.util.PropertyResourceBundle

I have browsed google several times, but I cant find a solution to the problem. First I found some posts regarding Agents not having read/write access to .jar files but none of my agents are reading in the .jar files located in this base.

Im having problems with this error I keep on receiving:

Can't find resource for bundle java.util.PropertyResourceBundle, key connect_not_allowed Nested exception: Can't find resource for bundle java.util.PropertyResourceBundle, key connect_not_allowed org.dom4j.io.SAXReader.read(SAXReader.java:484)
org.dom4j.io.SAXReader.read(SAXReader.java:291)
com.eoffice.xml.RSSReader.getLimitedRSS(RSSReader.java:25)
sun.reflect.GeneratedMethodAccessor1026.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:600)
com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:321)
com.ibm.jscript.types.FBSObject.call(FBSObject.java:161)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:175)
com.ibm.jscript.ASTTree.ASTReturn.interpret(ASTReturn.java:49)
com.ibm.jscript.std.FunctionObject._executeFunction(FunctionObject.java:261)
com.ibm.jscript.std.FunctionObject.executeFunction(FunctionObject.java:185)
com.ibm.jscript.std.FunctionObject.call(FunctionObject.java:171)
com.ibm.jscript.types.FBSObject.call(FBSObject.java:161)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:175)
com.ibm.jscript.ASTTree.ASTReturn.interpret(ASTReturn.java:49)
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
com.ibm.jscript.JSExpression.access$1(JSExpression.java:424)
com.ibm.jscript.JSExpression$2.run(JSExpression.java:414)
java.security.AccessController.doPrivileged(AccessController.java:284)
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:220)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:192)
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:78)
javax.faces.component.UIOutput.getValue(UIOutput.java:159)
com.ibm.xsp.util.FacesUtil.convertValue(FacesUtil.java:1073)
com.ibm.xsp.renderkit.html_basic.OutputTextRenderer.encodeEnd(OutputTextRenderer.java:91)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:153)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:809)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1287)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1225)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:635)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:320)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:355)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:264)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:197)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:193)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1151)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1135)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:523)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:352)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)