Executing a query in the startup function of a collocated query agent in TIBCO BusinessEvents .

Executing a query in the startup function of a collocated query agent in TIBCO BusinessEvents .

book

Article ID: KB0087615

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
===========
Executing a query in the startup function of a collocated query agent in TIBCO BusinessEvents .

Environment:
===========
TIBCO BusinessEvents 5.x
All Operating Systems

Symptoms :
===========
2013 Nov 13 12:24:34:027 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [runtime.scheduler] [be.agent.query.internal.dynamic] Initialized thread pool [$default.be.mt$] with max [10] threads and max [1024] job queue size.
2013 Nov 13 12:24:34:030 GMT -6 10.58.93.233 Warning [be.agent.query.internal.dynamic.starter] - [query.service] [be.agent.query.internal.dynamic] Disabling all startup and shutdown functions for Agent:be.agent.query.internal.dynamic Id:0 Name:be.agent.query.internal.dynamic
2013 Nov 13 12:24:34:042 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [query.stream] Query agent [DBConceptCDD-be.agent.query.internal.dynamic-0] starting in cluster mode.
2013 Nov 13 12:24:34:044 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [query.stream] Local cache using be.agent.query.localcache.prefetchaggressive: false
2013 Nov 13 12:24:34:044 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [query.stream] Continuous Query Threadpool Size be.agent.query.continuous.threadpoolsize: 0
2013 Nov 13 12:24:34:044 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [query.stream] Filter Optimizer enabled: false
2013 Nov 13 12:24:34:044 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [query.stream] Query using be.network.mode.standalone: false
2013 Nov 13 12:24:34:047 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [query.stream] Local cache using be.agent.query.localcache.maxelements: 0
2013 Nov 13 12:24:34:047 GMT -6 10.58.93.233 Info [be.agent.query.internal.dynamic.starter] - [query.stream] Local cache using be.agent.query.localcache.evictseconds: 900000
2013 Nov 13 12:24:39:012 GMT -6 10.58.93.233 Info [main] - [query.functions] [inference-class] Waiting for dynamic query session start job to complete
2013 Nov 13 12:24:44:014 GMT -6 10.58.93.233 Info [main] - [query.functions] [inference-class] Waiting for dynamic query session start job to complete
2013 Nov 13 12:24:49:015 GMT -6 10.58.93.233 Info [main] - [query.functions] [inference-class] Waiting for dynamic query session start job to complete
2013 Nov 13 12:24:54:017 GMT -6 10.58.93.233 Info [main] - [query.functions] [inference-class] Waiting for dynamic query session start job to complete
2013 Nov 13 12:24:59:017 GMT -6 10.58.93.233 Info [main] - [query.functions] [inference-class] Waiting for dynamic query session start job to complete
2013 Nov 13 12:25:04:018 GMT -6 10.58.93.233 Info [main] - [query.functions] [inference-class] Waiting for dynamic query session start job to complete

Cause :
===========
When executing a query in the startup function it is recommended and suggested that in case of collocated agents one should use the Query.Util.invokeFunctionInQuerySession(..) instead of the dynamic session .

Resolution:
===========
Create a Query agent and add it to the same default processing unit, which in this case is the inference engine. (It becomes a collocated agent, i.e. it contains a query agent as well as a inference agent). In the startup of the collocated agent replace the dynamic query session execution with executeInQuerySession as shown below .

executeInDynamicQuerySession Code :
------------------------------
String queryString = “Select * from table_name”;
Object resultList = "Query.Util.executeInDynamicQuerySession(queryString, null, true);"

executeInQuerySession Code :
------------------------------
String queryString = “Select * from table_name”;
Object resultList = Query.Util.executeInQuerySession("Name of the query agent", queryString, null, true);


References :
============
1-F5G6VN

Issue/Introduction

Executing a query in the startup function of a collocated query agent in TIBCO BusinessEvents .