Once again, can we wrote a wrapper class for JDBC driver, eg : com.intersystems.dc.jdbc.IRISJDBCDriver, and use it to connect to IRIS?
The wrapper can be a public repository, and published to maven central, so that it can be used by anyone.
Like that no conflict with the official driver, and we can use it in any project.
Downside is that the name is not the same, so we need to change the driver name in the code, but it's a small price to pay.
Hi,
As you are in Aync mode, it's a bit tricky to get the end time. In sync mode, you just have to wait for the answer to be back.
In this case I would use the session id from the message that is going out of the business service to the BO.
So in the BS, try something like this:
Method OnProcessInput(
pDocIn As %RegisteredObject,
Output pDocOut As %RegisteredObject) As %Status
{
// here you need to pass the jobid from the %CSP.REST that is invoking the BS
set tJobId = pDocIn.JobID
// your code here
set ^CallApi($CLASSNAME(),tJobId,"sessionid") = ..%SessionId
set pDocOut = pDocIn
quit $$$OK
}
Then in the BO, you can use the session id to get the information from the global.
Method MyAsyncMethod(
pRequest As %RegisteredObject,
Output pResponse As %RegisteredObject) As %Status
{
set tSessionId = ..%SessionId
// lookup for the good session id
for {
set tClassname = $ORDER(^CallApi(tClassname))
quit:tClassname=""
for {
set tJobId = $ORDER(^CallApi(tClassname,tJobId))
quit:tJobId=""
if ^CallApi(tClassname,tJobId,"sessionid") = tSessionId {
set ^CallApi(tClassname,tJobId,"End") = $HOROLOG
quit
}
}
}
// your code here
quit $$$OK
}
I hope this helps.
Sounds super interesting, thanks for sharing.