NullPointerException on java server side when Flex client calls consumer.subscribe()

59 views
Skip to first unread message

Maxim Kopeyka

unread,
Oct 1, 2014, 12:38:45 PM10/1/14
to gran...@googlegroups.com
Hi Guys,

I have this error with Flex client only, java client works fine...
granite-client-flex-3.2.0-SNAPSHOT.swc has been used to compile Flex client

Server side
=========
    public Heartbeat() {
        super();
        ChannelFactory channelFactory = new AMFChannelFactory();
        channelFactory.start();
        MessagingChannel channel = null;
        try {
            channel = channelFactory.newMessagingChannel(ChannelType.LONG_POLLING, "longPollingChannel", new URI("http://172.26.27.94:8084/gravityamf/amf"));
        } catch (URISyntaxException e) {
            LL.error(e.getMessage(), e);
        }
        producer = new Producer(channel, "my-destination", "my-heartbeat");
    }

    @Scheduled(fixedRate = 2000)
    public void heartbeat() {
        try{
            AsyncMessage msg = new AsyncMessage();
            msg.setTimeToLive(TTL);
            msg.setTimestamp(System.currentTimeMillis());
            msg.setClientId(UUID.randomUUID().toString());
            msg.setMessageId(UUID.randomUUID().toString());
            msg.setBody("my-heartbeat");
            msg.setDestination("my-destination");
            
            producer.publish(msg, listners);
        }catch(Throwable e){
            LL.error(e.getMessage(), e);
        }

    }


Flex client
==========
var cs:ChannelSet = new ChannelSet();
var ch:AMFChannel = new AMFChannel("longPollingChannel","http://172.26.27.94:8084/gravityamf/amf");
ch.pollingEnabled = true;
ch.pollingInterval = 2000;
cs.addChannel(ch);

consumer = new Consumer();
consumer.channelSet = cs;
consumer.destination = "my-destination";
consumer.topic = "my-heartbeat";
consumer.addEventListener(MessageEvent.MESSAGE, messageHandler);
consumer.subscribe();

Error
======
java.lang.NullPointerException
at org.granite.gravity.GravityServletUtil.deserialize(GravityServletUtil.java:109)
at org.granite.gravity.GravityServletUtil.deserialize(GravityServletUtil.java:94)
at org.granite.gravity.AbstractGravityServlet.deserialize(AbstractGravityServlet.java:88)
at org.granite.gravity.servlet3.GravityAsyncServlet.doPost(GravityAsyncServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2440)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2429)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)

Maxim Kopeyka

unread,
Oct 2, 2014, 5:38:08 AM10/2/14
to gran...@googlegroups.com
StoredClassDescriptors array is empty when I try to subscribe from Flex client

Usually this array is not empty


 

Maxim Kopeyka

unread,
Oct 2, 2014, 12:10:00 PM10/2/14
to gran...@googlegroups.com
It's my mistake in Flex client, GravityChannel should be used instead of AMFChannel 
Reply all
Reply to author
Forward
0 new messages