Esper EPRuntime java.lang.NullPointerException

View: New views
4 Messages — Rating Filter:   Alert me  

Esper EPRuntime java.lang.NullPointerException

by Sandeep Poreddy :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hello,

                 I tried to send an event object into esper runtime, but doing so it throws a java.lang.NullPointerException. I never got to see this one before when I sent the object to the esper engine. Any help would be appreciated.

 

Below is code:

OutputEvent is a event class whose constructor takes a string argument and has a getter method to get its value. I see the esper statement “SELECT message FROM OutputEvent;” is registered without a problem.  Here message in the select statement is value from OutputEvent getter method.

 

OutputEvent event = new OutputEvent(result.getString(1)); // from database

ConfigEvent config = new ConfigEvent();

Config.getEPRuntime(event);

 

 

The esper configuration takes place in the ConfigEvent class.

 

epService = EPServiceProviderManager.getDefaultProvider(configuration);

            admin = epService.getEPAdministrator();

            epStatement = admin.createEPL(stmt, id);

            epRuntime = epService.getEPRuntime();

 

public void getEPRuntime(Object obj) {

            epRuntime.sendEvent(obj);

      }

 

Thanks,

Sandeep


Re: Esper EPRuntime java.lang.NullPointerException

by Alexandre Vasseur :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Please send entire stack trace, and possibly your test case
Alex

On Wed, Oct 28, 2009 at 4:41 PM, Sandeep Poreddy <sandeep.poreddy@...> wrote:

Hello,

                 I tried to send an event object into esper runtime, but doing so it throws a java.lang.NullPointerException. I never got to see this one before when I sent the object to the esper engine. Any help would be appreciated.

 

Below is code:

OutputEvent is a event class whose constructor takes a string argument and has a getter method to get its value. I see the esper statement “SELECT message FROM OutputEvent;” is registered without a problem.  Here message in the select statement is value from OutputEvent getter method.

 

OutputEvent event = new OutputEvent(result.getString(1)); // from database

ConfigEvent config = new ConfigEvent();

Config.getEPRuntime(event);

 

 

The esper configuration takes place in the ConfigEvent class.

 

epService = EPServiceProviderManager.getDefaultProvider(configuration);

            admin = epService.getEPAdministrator();

            epStatement = admin.createEPL(stmt, id);

            epRuntime = epService.getEPRuntime();

 

public void getEPRuntime(Object obj) {

            epRuntime.sendEvent(obj);

      }

 

Thanks,

Sandeep



RE: Esper EPRuntime java.lang.NullPointerException

by Sandeep Poreddy :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hello Alexandre,

 

java.lang.NullPointerException

      at config.ConfigEvents.getEPRuntime(ConfigEvents.java:89)

      at config.ActiveMQConfiguration.receiveMessage1(ActiveMQConfiguration.java:154)

      at classes.ReceiveJMSMessagesForEsper.getNormalizedJMSMessages(ReceiveJMSMessagesForEsper.java:31)

      at classes.EsperJMS.sendNormalizedDataToJMSQueue(EsperJMS.java:29)

      at classes.NormalizeData.normalizeMessage(NormalizeData.java:84)

      at classes.NormalizeData.onMessage(NormalizeData.java:59)

      at config.ActiveMQConfiguration.receiveMessage(ActiveMQConfiguration.java:135)

      at classes.NormalizeData.getGateWayJMSData(NormalizeData.java:43)

      at classes.NormalizeData.main(NormalizeData.java:30)

 

Line 89 in the exception above refers to the method getEPRuntime in the ConfigEvents class shown below.

 

 

 

I’m trying to send an object using the method

public void receiveMessage1(MessageConsumer messageConsumer) {

            ObjectMessage message;

            long timeout = 0l;

            ConfigEvents config = new ConfigEvents();

            OutputEventsOne events;

 

            try {

                  while ((message = (ObjectMessage) messageConsumer.receive(timeout)) != null) {

                        events = new OutputEventsOne(message.getObject().toString());

                        config.getEPRuntime(events);

                  }

            } catch (Exception jmse) {

                  log.error( jmse);

            }

      }

 

 

public class ConfigEvents {

 

      public void registerEventType() {

            configuration.configure();

           

      }

 

            public void registerStatements(String stmt, String id, int stmtCount) {

            ConnectToDatabase connectToDatabase = new ConnectToDatabase();

            epService = EPServiceProviderManager.getDefaultProvider(configuration);

            admin = epService.getEPAdministrator();

 

            epStatement = admin.createEPL(stmt, id);

            connectToDatabase.sendStatementToDatabase(id, stmt);

            epRuntime = epService.getEPRuntime();

 

            setupStatementAwareUpdateListener(id);

      }

 

     

      public void getEPRuntime(Object obj) {

            epRuntime.sendEvent(obj);

      }

 

public void setupStatementAwareUpdateListener(String stmtID) {

            EPStatement stmt = admin.getStatement(stmtID);

            if (stmt.isDestroyed() == false && stmt.isStopped() == false) {

                  stmt.addListener(statementAwareUpdateListener);

            } else {

                  log

                              .info("Cannot add a StatementAwareListener to a destroyed or stopped statement");

            }

      }

}

 

Thanks,

Sandeep

From: Alexandre Vasseur [mailto:avasseur@...]
Sent: Wednesday, October 28, 2009 11:37 AM
To: user@...
Subject: Re: [esper-user] Esper EPRuntime java.lang.NullPointerException

 

Please send entire stack trace, and possibly your test case
Alex

On Wed, Oct 28, 2009 at 4:41 PM, Sandeep Poreddy <sandeep.poreddy@...> wrote:

Hello,

                 I tried to send an event object into esper runtime, but doing so it throws a java.lang.NullPointerException. I never got to see this one before when I sent the object to the esper engine. Any help would be appreciated.

 

Below is code:

OutputEvent is a event class whose constructor takes a string argument and has a getter method to get its value. I see the esper statement “SELECT message FROM OutputEvent;” is registered without a problem.  Here message in the select statement is value from OutputEvent getter method.

 

OutputEvent event = new OutputEvent(result.getString(1)); // from database

ConfigEvent config = new ConfigEvent();

Config.getEPRuntime(event);

 

 

The esper configuration takes place in the ConfigEvent class.

 

epService = EPServiceProviderManager.getDefaultProvider(configuration);

            admin = epService.getEPAdministrator();

            epStatement = admin.createEPL(stmt, id);

            epRuntime = epService.getEPRuntime();

 

public void getEPRuntime(Object obj) {

            epRuntime.sendEvent(obj);

      }

 

Thanks,

Sandeep

 


Re: Esper EPRuntime java.lang.NullPointerException

by Alexandre Vasseur :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It sounds like this code is not complete.
How/where ConfigEvents.epRuntime field is declared and initialized?
It is very likely you have a bug and it never gets assigned/initialized prior ConfigEvents.getEPRuntime() is called
Alex


On Wed, Oct 28, 2009 at 6:08 PM, Sandeep Poreddy <sandeep.poreddy@...> wrote:

Hello Alexandre,

 

java.lang.NullPointerException

      at config.ConfigEvents.getEPRuntime(ConfigEvents.java:89)

      at config.ActiveMQConfiguration.receiveMessage1(ActiveMQConfiguration.java:154)

      at classes.ReceiveJMSMessagesForEsper.getNormalizedJMSMessages(ReceiveJMSMessagesForEsper.java:31)

      at classes.EsperJMS.sendNormalizedDataToJMSQueue(EsperJMS.java:29)

      at classes.NormalizeData.normalizeMessage(NormalizeData.java:84)

      at classes.NormalizeData.onMessage(NormalizeData.java:59)

      at config.ActiveMQConfiguration.receiveMessage(ActiveMQConfiguration.java:135)

      at classes.NormalizeData.getGateWayJMSData(NormalizeData.java:43)

      at classes.NormalizeData.main(NormalizeData.java:30)

 

Line 89 in the exception above refers to the method getEPRuntime in the ConfigEvents class shown below.

 

 

 

I’m trying to send an object using the method

public void receiveMessage1(MessageConsumer messageConsumer) {

            ObjectMessage message;

            long timeout = 0l;

            ConfigEvents config = new ConfigEvents();

            OutputEventsOne events;

 

            try {

                  while ((message = (ObjectMessage) messageConsumer.receive(timeout)) != null) {

                        events = new OutputEventsOne(message.getObject().toString());

                        config.getEPRuntime(events);

                  }

            } catch (Exception jmse) {

                  log.error( jmse);

            }

      }

 

 

public class ConfigEvents {

 

      public void registerEventType() {

            configuration.configure();

           

      }

 

            public void registerStatements(String stmt, String id, int stmtCount) {

            ConnectToDatabase connectToDatabase = new ConnectToDatabase();

            epService = EPServiceProviderManager.getDefaultProvider(configuration);

            admin = epService.getEPAdministrator();

 

            epStatement = admin.createEPL(stmt, id);

            connectToDatabase.sendStatementToDatabase(id, stmt);

            epRuntime = epService.getEPRuntime();

 

            setupStatementAwareUpdateListener(id);

      }

 

     

      public void getEPRuntime(Object obj) {

            epRuntime.sendEvent(obj);

      }

 

public void setupStatementAwareUpdateListener(String stmtID) {

            EPStatement stmt = admin.getStatement(stmtID);

            if (stmt.isDestroyed() == false && stmt.isStopped() == false) {

                  stmt.addListener(statementAwareUpdateListener);

            } else {

                  log

                              .info("Cannot add a StatementAwareListener to a destroyed or stopped statement");

            }

      }

}

 

Thanks,

Sandeep

From: Alexandre Vasseur [mailto:avasseur@...]
Sent: Wednesday, October 28, 2009 11:37 AM
To: user@...
Subject: Re: [esper-user] Esper EPRuntime java.lang.NullPointerException

 

Please send entire stack trace, and possibly your test case
Alex

On Wed, Oct 28, 2009 at 4:41 PM, Sandeep Poreddy <sandeep.poreddy@...> wrote:

Hello,

                 I tried to send an event object into esper runtime, but doing so it throws a java.lang.NullPointerException. I never got to see this one before when I sent the object to the esper engine. Any help would be appreciated.

 

Below is code:

OutputEvent is a event class whose constructor takes a string argument and has a getter method to get its value. I see the esper statement “SELECT message FROM OutputEvent;” is registered without a problem.  Here message in the select statement is value from OutputEvent getter method.

 

OutputEvent event = new OutputEvent(result.getString(1)); // from database

ConfigEvent config = new ConfigEvent();

Config.getEPRuntime(event);

 

 

The esper configuration takes place in the ConfigEvent class.

 

epService = EPServiceProviderManager.getDefaultProvider(configuration);

            admin = epService.getEPAdministrator();

            epStatement = admin.createEPL(stmt, id);

            epRuntime = epService.getEPRuntime();

 

public void getEPRuntime(Object obj) {

            epRuntime.sendEvent(obj);

      }

 

Thanks,

Sandeep