We have built a messaging server using PubNub which listens for chat
messages from Android device.
For this, our J2EE based spring, we have created a Pubnub listener (which
is basically a listening socket)
as follows. However, we have observed is that our server stops listening
randomly after few days. The
Tomcat keeps working fine, but just the socket stops listening. There is
not error in logs.

Can anyone help in diagnosing this issue? Specifcally, I want to ensure
that the below design to initiate a listener is durable and not prone
to errors.

public class IncomingListener implements ApplicationListener <
ContextRefreshedEvent > {

    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {

        private static volatile boolean isContextLoaded = false;

        @Autowired
        ServletContext application;

        synchronized(IncomingListener.class) {

            if (isContextLoaded) {
                System.out.println("WTF: Not initializing incoming
listener");
                return;
            }
            try {
                initialiseIncomingListener();
                isContextLoaded = true;
            } catch (JSONException e) {
                e.printStackTrace();
            } catch (AkoshaException e) {
                e.printStackTrace();
            }

        }
    }

    private void initialiseIncomingListener()
    {
     // Initialize our Pubnub Listener

     pubnub.subscribe(serverchannel, new Callback() {

     // Subscribe to pubnub
});
    }
}

Reply via email to