Hi,

$Subject issue is fixed now. :)

The root couse was the tenent flow was not closed properly.

context.endTenantFlow();


Regards,.



Ishara Cooray
Senior Software Engineer
Mobile : +9477 262 9512
WSO2, Inc. | http://wso2.com/
Lean . Enterprise . Middleware


On Fri, Aug 29, 2014 at 6:32 PM, Ishara Cooray <[email protected]> wrote:

> hi,
>
> The issue was resolved by changing the execution order of the statements.
>
> Ex:
> first execute db queries and then
>
> context.startTenantFlow();
> ......................
> ....................
>
> but i still have a doubt, what is the actual cause for this.
>
> Thanks.
>
>
> Ishara Cooray
> Senior Software Engineer
> Mobile : +9477 262 9512
> WSO2, Inc. | http://wso2.com/
> Lean . Enterprise . Middleware
>
>
> On Fri, Aug 29, 2014 at 1:42 PM, Ishara Cooray <[email protected]> wrote:
>
>> Hi Dunith,
>> Thanks for the reply.
>>
>> jdbc url , UN and PW are configured in a xml.
>>
>> This works for many queries but exception is thrown in few cases only.
>>
>> Regards,
>>
>> Ishara Cooray
>> Senior Software Engineer
>> Mobile : +9477 262 9512
>> WSO2, Inc. | http://wso2.com/
>> Lean . Enterprise . Middleware
>>
>>
>> On Fri, Aug 29, 2014 at 11:31 AM, Dunith Dhanushka <[email protected]>
>> wrote:
>>
>>> Hi Ishara,
>>>
>>> When creating a Database object, you have to pass the JDBC URL and the
>>> database credentials as follows.
>>>
>>> var db = new Database("jdbc:h2:tmp/demo", "admin", "admin");
>>>
>>> Please follow the Jaggery documentation on Databases at [1]
>>>
>>> [1] http://jaggeryjs.org/documentation.jag?api=rdb
>>>
>>> Regards,
>>> Dunith
>>>
>>>
>>> On Fri, Aug 29, 2014 at 10:52 AM, Ishara Cooray <[email protected]>
>>> wrote:
>>>
>>>> my function is as follow and NPE is thrown  @    db = new Database("db")
>>>>
>>>>  var executeQuery = function(queryString)  {
>>>>                            var results ;
>>>>                            var db = null;
>>>>                                try{
>>>>
>>>>                                     db = new Database("db");// error
>>>> here
>>>>
>>>>                                     results = db.query(queryString);
>>>>                                 } catch (e) {
>>>>                                      log.error(e);
>>>>                                      throw "Error while accessing
>>>> database " + " : " + e.message;
>>>>                               }finally{
>>>>                                  if(db!=null){
>>>>                                           db.close();
>>>>                                            log.info("db closed");
>>>>                                  }
>>>>                               }
>>>>                                 return results;
>>>>                    }
>>>>
>>>>  Ishara Cooray
>>>> Senior Software Engineer
>>>> Mobile : +9477 262 9512
>>>> WSO2, Inc. | http://wso2.com/
>>>> Lean . Enterprise . Middleware
>>>>
>>>>
>>>> On Thu, Aug 28, 2014 at 6:48 PM, Ishara Cooray <[email protected]>
>>>> wrote:
>>>>
>>>>> I have a function which does
>>>>> 1. create Database connection
>>>>> 2. execute query
>>>>> 3. close the db connection
>>>>>
>>>>>
>>>>>    var executeQuery = function(queryString)  {
>>>>>                            var results ;
>>>>>                            var db = null;
>>>>>                                try{
>>>>>                                 var db = new Database("db");
>>>>>                                 results = db.query(queryString);
>>>>>                                 } catch (e) {
>>>>>                                      log.error(e);
>>>>>                                      throw "Error while accessing
>>>>> database " + " : " + e.message;
>>>>>                               }finally{
>>>>>                                  if(db!=null){
>>>>>                                           db.close();
>>>>>                                            log.info("db closed");
>>>>>                                  }
>>>>>                               }
>>>>>                                 return results;
>>>>>                    }
>>>>>
>>>>> i use this function when a sql is needed to be executed.
>>>>> But in some cases, when try to create new Database connection it gives
>>>>> below NullPointer Exception
>>>>>
>>>>> [2014-08-28 18:19:46,849] ERROR
>>>>> {JAGGERY.modules.database.dataaccess:jag} -
>>>>> org.mozilla.javascript.WrappedException: Wrapped
>>>>> java.lang.NullPointerException
>>>>> (/cloudmgt/modules/database/dataaccess.jag#21)
>>>>>     at
>>>>> org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
>>>>>     at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
>>>>>     at
>>>>> org.mozilla.javascript.FunctionObject.call(FunctionObject.java:392)
>>>>>     at
>>>>> org.mozilla.javascript.BaseFunction.construct(BaseFunction.java:343)
>>>>>     at
>>>>> org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:2349)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.database.c0._c_anonymous_1(/cloudmgt/modules/database/dataaccess.jag:21)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.database.c0.call(/cloudmgt/modules/database/dataaccess.jag)
>>>>>     at
>>>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>>>>     at
>>>>> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>>>>     at
>>>>> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>>>>     at
>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.database.c2._c_anonymous_2(/cloudmgt/modules/database/module.jag:8)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.database.c2.call(/cloudmgt/modules/database/module.jag)
>>>>>     at
>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.users.add.c0._c_getTenantDisplayName_3(/cloudmgt/modules/tenant/users/add/add.jag:63)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.users.add.c0.call(/cloudmgt/modules/tenant/users/add/add.jag)
>>>>>     at
>>>>> org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.users.add.c0._c_anonymous_6(/cloudmgt/modules/tenant/users/add/add.jag:132)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.users.add.c0.call(/cloudmgt/modules/tenant/users/add/add.jag)
>>>>>     at
>>>>> org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.users.add.c0._c_sendUserInvite_8(/cloudmgt/modules/tenant/users/add/add.jag:213)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.users.add.c0.call(/cloudmgt/modules/tenant/users/add/add.jag)
>>>>>     at
>>>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>>>>     at
>>>>> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>>>>     at
>>>>> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>>>>     at
>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.c0._c_anonymous_8(/cloudmgt/modules/tenant/module.jag:26)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.modules.tenant.c0.call(/cloudmgt/modules/tenant/module.jag)
>>>>>     at
>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.site.blocks.tenant.users.add.ajax.c0._c_anonymous_1(/cloudmgt/site/blocks/tenant/users/add/ajax/add.jag:82)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.site.blocks.tenant.users.add.ajax.c0.call(/cloudmgt/site/blocks/tenant/users/add/ajax/add.jag)
>>>>>     at
>>>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.site.blocks.tenant.users.add.ajax.c0._c_script_0(/cloudmgt/site/blocks/tenant/users/add/ajax/add.jag:6)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.site.blocks.tenant.users.add.ajax.c0.call(/cloudmgt/site/blocks/tenant/users/add/ajax/add.jag)
>>>>>     at
>>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
>>>>>     at
>>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.site.blocks.tenant.users.add.ajax.c0.call(/cloudmgt/site/blocks/tenant/users/add/ajax/add.jag)
>>>>>     at
>>>>> org.jaggeryjs.rhino.cloudmgt.site.blocks.tenant.users.add.ajax.c0.exec(/cloudmgt/site/blocks/tenant/users/add/ajax/add.jag)
>>>>>     at
>>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:570)
>>>>>     at
>>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
>>>>>     at
>>>>> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:432)
>>>>>     at
>>>>> org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>>>>>     at
>>>>> org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>     at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>     at
>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>     at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>     at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>>>     at
>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>>>>     at
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>>>>     at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>     at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>     at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>     at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>     at
>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>     at java.lang.Thread.run(Thread.java:722)
>>>>> Caused by: java.lang.NullPointerException
>>>>>     at
>>>>> org.jaggeryjs.hostobjects.db.DatabaseHostObject.jsConstructor(DatabaseHostObject.java:87)
>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>     at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>     at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>     at java.lang.reflect.Method.invoke(Method.java:601)
>>>>>     at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
>>>>>     ... 72 more
>>>>>
>>>>>
>>>>> Is there a way to synchronize the function in Jaggery or any other
>>>>> suggestion to get rid from this error?
>>>>>
>>>>> Any help would be appreciated.
>>>>>
>>>>> Thanks.
>>>>> Ishara Cooray
>>>>> Senior Software Engineer
>>>>> Mobile : +9477 262 9512
>>>>> WSO2, Inc. | http://wso2.com/
>>>>> Lean . Enterprise . Middleware
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Regards,
>>>
>>> Dunith Dhanushka,
>>> Senior Software Engineer - BAM,
>>> WSO2 Inc,
>>>
>>> Mobile - +94 71 8615744
>>> Blog - dunithd.wordpress.com <http://blog.dunith.com>
>>> Twitter - @dunithd <http://twitter.com/dunithd>
>>>
>>
>>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to