cancel
Showing results for 
Search instead for 
Did you mean: 

Activate failed JMS channel using single repository object cache refresh

Former Member
0 Kudos

Hi

we have JMS receiver channels that sometimes are not active because of several reasons.

We want to have these receiver channels active at all times. Methods to activate the inactive channels are:

-edit receiver channels and activate changes

-full cpa cache refresh.

What we also want to accomplish is to activate a channel by doing a single repository object cache refresh for the channel. Until now this does not work.

The procedure for single cache object refresh is documented in the Howto...handle caches in SAP XI 3.0 document (version may 2005) on page 5 paragraph 11.

Input

The object type we try to refresh is AdapterMetaData

The input we use is the Guid for the CPAcache object type "channel" for that specific channel

The Guid for the SWCV is the one from SAP BASIS 6.40.

If we look at the CPA cache contents we can see the channel in there with the correct Guids, so we assume the input is correct.

When we press the refresh button we get the following error:

com.sap.aii.utilxi.misc.api.InternalErrorException: Key missing in

XiReference

at com.sap.aii.ib.bom.gen.XiReferenceImpl.<init>

(XiReferenceImpl.java:39)

at com.sap.aii.ib.bom.gen.XiReference$Factory.getInstance

(XiReference.java:30)

at com.sap.aii.ibrep.server.abapcache.CacheEventHandler.onManual

(CacheEventHandler.java:69)

at com.sap.aii.ibrep.server.abapcache.HmiMethod_CacheRefresh.process

(HmiMethod_CacheRefresh.java:62)

at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod

(HmisServiceImpl.java:169)

at com.sap.aii.utilxi.hmis.server.HmisServer.process

(HmisServer.java:178)

at com.sap.aii.utilxi.hmis.sbeans.HmisBeanImpl.process

(HmisBeanImpl.java:86)

at com.sap.aii.utilxi.hmis.sbeans.HmisLocalLocalObjectImpl10.process

(HmisLocalLocalObjectImpl10.java:144)

at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:290)

at com.sap.aii.utilxi.hmis.web.workers.HmisExternalClient.doWork

(HmisExternalClient.java:75)

at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork

(HmisServletImpl.java:496)

at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doGet

(HmisServletImpl.java:640)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at

com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet

(HttpHandlerImpl.java:390)

at

com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at

com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet

(RequestAnalizer.java:347)

at

com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet

(RequestAnalizer.java:325)

at

com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle

(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle

(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request

(Processor.java:148)

at

com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run

(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run

(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute

(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run

(SingleThread.java:170)

Question is: Is it possible to activate a failed channel using this

single repository object cache refresh function, and if so how should

we do it?

Thanks

Tom

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Tom,

>><i>We want to have these receiver channels active at all times.</i>

-> in the communication channel, the adapter status should be "Active".-this will make the channel active all the time. Also...

-> every time changes are made to the communication chanel, save the changes and goto change lists and activate the communication channel

->From SP17 onwards, the communication channel can be stopped or restarted form the RWB also.

Check out this blog by Vishal for further details..

/people/sap.user72/blog/2006/06/04/starting-stopping-of-communication-channel-from-rwb

Also check out this thread..it might be useful to you if your client channel is on MQ ...

Regards,

Sushumna

Former Member
0 Kudos

Hello Sushumna,

Thanks for you answer. We are on Sp15 so alas we don't have the RWB start/stop function yet, but good to know that it is there

We are researching all the reasons why channels become in a failed state, but we also want to reactivate failed channels separately, preferably via a cache refresh link which can then be scheduled.

A full CPA cache refresh works but takes too long and is also disruptive for all the other adapter channels that are running normally but get restarted by the full CPA cache refresh

regards

Tom