I’m running ES 5.0.1 on Solaris 2.8. What happens is that when an import of an adl file is done through the Enterprise Integrator, an adapter will often stop subscribing to a document. It can happen to a JDBC adapter, an IO adapter, an Oracle adapter, and to a lesser extent, the XML adapter.
This is verified through the Enterprise Monitor trace window. I can see an adapter publish the document, but the adapter that is supposed to subscribe to the document never enqueue’s or receives the document.
Checking the adapters client group properties still shows the document in the Can Subscribe tab.
All we have to do is to restart the adapter and all is fine, however we usually do not know there is a problem until much further down the road. Has anyone encountered this behavior before?
one thing you should always do is “check and repair” after importing the adl files.
We always restart all the adapters so that they get the new config, if there were a change. Also, if there is an error in any part of the flow in EI the adapter could get blocked.
I think the check and repair would be worth trying but depending upon the complexity of the integrations and the target system, you could end up duplicating data at the target system.
We have many processes that are initiated by a single document to an Integration Component. That Integration Component may do numerous multiple publishes (not multi-publish) to the target. If that process is interupted by the adapter restarting the whole process is restarted and causes duplication at the source.
So for us, we would have to make sure all processing was completed or stopped so we would do the adapter restart. Though I think we will seriously look at doing the check and repair. Thanks!
Let me join this discussion with one related question (adapter stop working).
Since we put our integration in production (three weeks ago), we are facing, once a week, one problem regarding adapters functioning.
“com.jdedwards.system.kernel.CallObjectSystemException: Server problem.
The server may still be available, but because of state information, the entire unit-of-work must be resubmitted”
What can be the possible causes for this error, so I can start looking where the problem is.
When we restart the adapter all is fine too.
PS - The environment is ES 5.0.1 + IS 4.6 + JDE Adapter 4.5
You can verify if the subscription has truly been lost by using the Manager tool to check the subscriptions for the client.
This information is also readily available in the wm java admin api. Using this api it is real easy to write a simple monitor to alert if and when a subscription is lost.
I would also check the Event Viewer for any failure messages which may or may not shed additional light on your problem.
I would also check in with webMethods support and ask them if they have any issues with lost subscriptions. Sometimes they do have fixes for problems encountered by other customers. You have to explicitly ask them though.
I was not referring to the CanSubscribe permissions of the clientgroup, but to the subscriptions created for the client. In the manager, select the clients for the broker and you should see your adapter as one of the clients. Clicking on the properties for this client should give you a dialog box where one of the tabs reads Subscriptions.
A clientgroup canPublish/canSubscribe permissions does not indicate whether a client actually subscribes or publishes to any doctypes, it only states which doctypes a client for the clientgroup is allowed to use when pub/sub.
Yes, I now see what you mean. I did not know that you could open a properties dialog on the client. I only thought you could do that on a client group. Thanks!!
I do not recommend to use the check and repair tool. This is a very specific tool that try to (re)creates mappings upon relationship and dependencies. Sometimes, using the check and repair tool can give you back a worst situation than before.
My questions are :
Are you sure that the classpath of you Enterprise Integrator tool is up to date ? (see edit/preferences)
If not, it won’t be able to correctly compile the modified Integration Component and thus you will loose the subscription that triggers your flow.
Did you try to import the same adl via the broker_load tool ?
Sometimes (don’t ask me why …) some import fail using Enterprise Integrator while it works fine using the broker_load command line tool. Once again, make sure your classpath includes all necessary libraries.
Finally, did you try to recompile your broker via the broker_buildall tool ? Check the documentation, there are available options to see the exact list of recompiled components.