Topic
  • 1 reply
  • Latest Post - ‏2013-05-09T13:32:44Z by Jason T
Jim Sharpe
Jim Sharpe
98 Posts

Pinned topic HTTPTupleInjection

‏2013-05-08T13:31:20Z |

 

I just tried a simple example taken from the toolkit documentation using the HTTPTupleInjection operator and am getting the following runtime error that seems to be something to do with not being able to get  the reference to the JavaVM:

 

08 May 2013 08:12:23.354 [10731] DEBUG spl_operator M[PEImpl.cpp:instantiateOperators:421]  - Exception received during instantiateOperator(): SPL::SPLRuntimeException (pe().getJavaVM() returned NULL) at 'static SPL::JNI::JVMControl* SPL::JNI::JVMControl::getJVM(const char*, SPL::rstring*, size_t, jboolean*)' [./src/SPL/Runtime/Toolkit/JavaOp.cpp:1149]
It's such a simple example I'm not sure what I'm doing wrong and the logs and traces aren't pointing to anything obvious.  Any help would be greatly appreciated.

------------- Code follows----------

namespace com.cnp.dce;
 
use com.ibm.ssb.inet.rest::*;
 
composite DCEExceptionsFeed {
graph
stream<rstring a_rstring> DCEExceptionsRawData = HTTPTupleInjection() {
 param
 port: 8080;
    config
   // Ensure the operators are in a single PE to have a single web-server
   placement: partitionColocation("jetty8080");
}
}
  • Jason T
    Jason T
    31 Posts

    Re: HTTPTupleInjection

    ‏2013-05-09T13:32:44Z  

    Hello Jim,

    I am still looking into this for you but had a suggestion from a colleague.  Do you have the JAVA_HOME environment variable set?  If not here is the required value of that variable.

    Requirement for Java operators: If Java operators are used in your InfoSphere Streams applications, the JAVA_HOME environment variable must be set at compile time, and must point to the JVM that should be used to run the JVM for the operator.

    We have seen similar errors in internal testing without this variable set so this is worth taking a look at.

    Best Regards,

    Jason Toso