Symptoms: ========= Error in logfile: [jdbcstore.impl] Error - Io exception: Connection reset Fatal [main] - [jdbcstore] JdbcStore initialization failed. java.lang.Exception: Error while creating database connection at com.tibco.be.jdbcstore.impl.DBConnectionPool.init(SourceFile:125) at com.tibco.be.jdbcstore.impl.DBConnectionPoolManager.init(SourceFile:30) at com.tibco.be.jdbcstore.impl.DBManager.init(SourceFile:233) at com.tibco.be.jdbcstore.JdbcStore.a(SourceFile:526) at com.tibco.be.jdbcstore.JdbcStore.<init>(SourceFile:220) at com.tibco.cep.runtime.service.dao.impl.tibas.backingstore.BEDataGridJdbcStore.<init>(SourceFile:48) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.tibco.cep.runtime.service.dao.impl.tibas.ASDaoProvider.a(SourceFile:175) at com.tibco.cep.runtime.service.dao.impl.tibas.ASDaoProvider.initHook(SourceFile:106) at com.tibco.cep.runtime.service.om.impl.AbstractDaoProvider.init(AbstractDaoProvider.java:63) at com.tibco.cep.runtime.service.cluster.MultiAgentCluster.init(MultiAgentCluster.java:108) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initCluster(RuleServiceProviderImpl.java:653) at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.configure(RuleServiceProviderImpl.java:252) at com.tibco.cep.container.standalone.BEMain.jumpStart(SourceFile:136) at com.tibco.cep.container.standalone.BEMain.main(SourceFile:59)
Resolution: ======== Update property java.extended.properties in TRA files (be-engine.tra and TRA file of deployed application) and add the following parameter:
-Djava.security.egd=file:///dev/urandom
Oracle JDBC 11g seems to use /dev/random by default, which causes usually no trouble on clients running with console access by a user, because his/her unpredictable actions will keep the entropy pool well-fed. But to make it usable on a headless server with a latently empty entropy pool, you should do several things in descending security order (without warranty):
1). Involve an audio entroy daemon like AED to gather noise from your datacenter with an open microphone, maybe combine it with a webcam noise collector like VED. Other sources are talking about “Cryptographic Randomness from Air Turbulence in Disk devices“.
2). Use the Entropy Gathering Daemon to collect weaker entropy from randomness of userspace programs.
3). Talk your JDBC into using /dev/urandom instead: -Djava.security.egd=file:///dev/urandom
Resolution: ======== Update property java.extended.properties in TRA files (be-engine.tra and TRA file of deployed application) and add the following parameter:
-Djava.security.egd=file:///dev/urandom
Issue/Introduction
TIBCO BusinessEvents (BE) Agents not able to connect/reconnect to Oracle database ("Error - Io exception: Connection reset" reported").