My log file rolled and tail got expired thats why I saw no logs. Actually
problem is my jaggery call to modules. I am getting exception below.
var logMap = mod.getFormattedRuntimeLogs(applicationKey, selectedRevision, "");
Is there a way to ged rid of this?
TID: [0] [AS] [2016-05-20 11:42:09,784] ERROR
{org.apache.coyote.AbstractProtocol$AbstractConnectionHandler} - Error
reading request, ignored {org.apache.co
yote.AbstractProtocol$AbstractConnectionHandler}
org.mozilla.javascript.WrappedException: Wrapped
java.util.NoSuchElementException (/appmgt/jagg/jagg.jag#377)
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:386)
at
org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
at
org.jaggeryjs.rhino.appmgt.jagg.c0._c_anonymous_37(/appmgt/jagg/jagg.jag:377)
at org.jaggeryjs.rhino.appmgt.jagg.c0.call(/appmgt/jagg/jagg.jag)
at
org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
at
org.jaggeryjs.rhino.appmgt.modules.runtimeLogs.c0._c_anonymous_2(/appmgt/modules/runtimeLogs/module.jag:26)
at
org.jaggeryjs.rhino.appmgt.modules.runtimeLogs.c0.call(/appmgt/modules/runtimeLogs/module.jag)
at
org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
at
org.jaggeryjs.rhino.appmgt.site.blocks.runtimeLogs.ws.c0._c_anonymous_1(/appmgt/site/blocks/runtimeLogs/ws/runtimeLogs.jag:37)
at
org.jaggeryjs.rhino.appmgt.site.blocks.runtimeLogs.ws.c0.call(/appmgt/site/blocks/runtimeLogs/ws/runtimeLogs.jag)
at
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at
org.jaggeryjs.rhino.appmgt.site.blocks.runtimeLogs.ws.c0.call(/appmgt/site/blocks/runtimeLogs/ws/runtimeLogs.jag)
at
org.jaggeryjs.hostobjects.web.WebSocketHostObject.processText(WebSocketHostObject.java:139)
at
org.jaggeryjs.jaggery.core.websocket.WSMessageInBound.onTextMessage(WSMessageInBound.java:36)
at
org.apache.catalina.websocket.MessageInbound.onTextData(MessageInbound.java:74)
at
org.apache.catalina.websocket.StreamInbound.doOnTextData(StreamInbound.java:186)
at
org.apache.catalina.websocket.StreamInbound.onData(StreamInbound.java:134)
at
org.apache.coyote.http11.upgrade.UpgradeProcessor.upgradeDispatch(UpgradeProcessor.java:83)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:587)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.util.NoSuchElementException
at java.util.Vector.lastElement(Vector.java:499)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.executeScript(WebAppManager.java:226)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.require(WebAppManager.java:318)
at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
... 24 more
Thanks & Regards
Danushka Fernando
Senior Software Engineer
WSO2 inc. http://wso2.com/
Mobile : +94716332729
On Fri, May 20, 2016 at 11:18 AM, Danushka Fernando <[email protected]>
wrote:
> This is my server side looks like
>
>
> <%
> /*
> * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
> *
> * WSO2 Inc. licenses this file to you under the Apache License,
> * Version 2.0 (the "License"); you may not use this file except
> * in compliance with the License.
> * You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing,
> * software distributed under the License is distributed on an
> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> * KIND, either express or implied. See the License for the
> * specific language governing permissions and limitations
> * under the License.
> */
>
> include("/jagg/jagg.jag");
> include("/jagg/constants.jag");
>
> var mod, obj,
> log = new Log(),
> action = request.getParameter("action"),
> site = require("/site/conf/site.json");
>
> var applicationKey = request.getParameter("applicationKey");
> var selectedRevision = request.getParameter("selectedRevision");
> var mod = jagg.module("runtimeLogs");
> webSocket.onbinary = function (data) {
> log.info('Client Sent : ' + data);
> var ws = this;
> var logMap = mod.getFormattedRuntimeLogs(applicationKey,
> selectedRevision, "");
> ws.send(logMap);
> };
> webSocket.ontext = function (data) {
> log.info('Client Sent : ' + data);
> var ws = this;
> var logMap = mod.getFormattedRuntimeLogs(applicationKey,
> selectedRevision, "");
> ws.send(logMap);
> };
> %>
>
> And this is my client side
>
> ws = new
> WebSocket("wss://localhost:9443/appmgt/site/blocks/runtimeLogs/ws/runtimeLogs.jag?action=getSnapshotLogs&applicationKey="
> + applicationKey + "&selectedRevision=" +
> selectedRevision);
>
> //event handler for the message event in the case of text frames
> ws.onmessage = function(event) {
> //some work
> };
>
> setTimeout(function() {ws.send(""); console.log("dddd");}, 60000);
>
>
> I can see the console log for send but no logs in server side. Whats I am
> doing wrong here?
>
> Thanks & Regards
> Danushka Fernando
> Senior Software Engineer
> WSO2 inc. http://wso2.com/
> Mobile : +94716332729
>
> On Fri, May 20, 2016 at 9:59 AM, Manjula Rathnayake <[email protected]>
> wrote:
>
>> Hi all,
>>
>> Does web sockets work through nginx, haproxy like load balancers?
>>
>> thank you.
>>
>> On Fri, May 20, 2016 at 9:37 AM, Sinthuja Ragendran <[email protected]>
>> wrote:
>>
>>> Hi Dhanushka,
>>>
>>> You don't need to do any special changes, just include the server side
>>> code as shown in the sample [1] in a jag file, and mention that jag URL in
>>> the client side to connect via web socket. As per the example, the jaggery
>>> app for ws server side should be in below format.
>>>
>>> - sample
>>> - ws
>>> - server.jag
>>>
>>> Thanks,
>>> Sinthuja.
>>>
>>>
>>> On Fri, May 20, 2016 at 9:26 AM, Danushka Fernando <[email protected]>
>>> wrote:
>>>
>>>> Hi
>>>> I tried to follow [1] to use some web sockets. But server url has to be
>>>> in either ws or wss protocols. How we can expose a jaggery app in these
>>>> protocols?
>>>>
>>>> [1] http://jaggeryjs.org/documentation.jag?api=webSocket
>>>>
>>>> Thanks & Regards
>>>> Danushka Fernando
>>>> Senior Software Engineer
>>>> WSO2 inc. http://wso2.com/
>>>> Mobile : +94716332729
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> *Sinthuja Rajendran*
>>> Associate Technical Lead
>>> WSO2, Inc.:http://wso2.com
>>>
>>> Blog: http://sinthu-rajan.blogspot.com/
>>> Mobile: +94774273955
>>>
>>>
>>>
>>
>>
>> --
>> Manjula Rathnayaka
>> Associate Technical Lead
>> WSO2, Inc.
>> Mobile:+94 77 743 1987
>>
>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev