on 08-02-2007 9:31 PM
I have a servlet that accesses RFC's and returns the data as XML. The servlet only retrieves data, nothing is updated. It runs fine for about two weeks and processes upwards of 70,000 transactions and then starts throwing jco exceptions. No java runtime errors occur before the jco exceptions. Out of the blue at any time after about 14 days it throws it's first jco exception. After the first error, it's done for good. Dropping the connection pool doesn't help. The entire servlet and most times the application server needs reloaded. Any ideas what might cause this or how to debug the underlying cause?
Environment: Websphere 5.1 Application Server, Jco 2.1.6
The login properties are:
jco.client.user=myname
jco.client.passwd=mypass
jco.client.sysnr=00
jco.client.mshost=myhost
jco.client.group=mygroup
jco.client.client=010
jco.client.r3name=myR3name
First exception (all subsequent look the same)
2007-07-05 10:26:57,922 WARN SAPJcoCall : Creation of function template failed
com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: RFC_ERROR_SYSTEM_FAILURE
at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method)
at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java(Inlined Compiled Code))
at com.sap.mw.jco.JCO$Client.execute(JCO.java(Compiled Code))
at com.sap.mw.jco.JCO$Client.execute(JCO.java(Compiled Code))
at com.sap.mw.jco.JCO$Repository.execute(JCO.java(Inlined Compiled Code))
at com.sap.mw.jco.JCO$Repository.queryFunctionInterface(JCO.java(Compiled Code))
at com.sap.mw.jco.JCO$Repository.queryFunctionInterface(JCO.java(Compiled Code))
at com.sap.mw.jco.JCO$Repository.getFunctionInterface(JCO.java(Compiled Code))
at com.sap.mw.jco.JCO$BasicRepository.getFunctionTemplate(JCO.java(Compiled Code))
at com.aspect.csstosap.v1.SAPJcoCall.createFunction(SAPJcoCall.java(Compiled Code))
did yoy consider using JRA instead of JCO? plain JCO and even its connection pooling isnt probably optimised to run inside an appserver runtime....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
To be perfectly hones I don't know much about JRA. I did look in response to your reply and it looked like it bypassed RFC. My customer wants us to use their RFCs and Jco gives me this. Also JRA seemed to imply it was geared towards client applications. As far as I know JCO is what should be used for servlets. IBM has it mentioned in great detail in reference to websphere. Also in my mind the fact it has connection pooling sort of implies an application server. I can't think of many applications using java and connection pooling that would not be somehow web based. So again I really am not an expert in this regard so I'm open to more clarifications on why JRA would be a better approach to a servlet. Thanks for the response.
User | Count |
---|---|
86 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.