Archiv

Autor-Archiv

OSB 11g: Stuck Threads when using inbound database adapter

Using a polling database adapter in a OSB proxy service, one may have noticed the following behaviour in Weblogic server:

  • an exception in the server logs about one or even more stuck threads like this:

<BEA-000337> <[STUCK] ExecuteThread: ’10′ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “705″ seconds working on the request “weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@21b9db0″, which is more than the configured time (StuckThreadMaxTime) of “600″ seconds. Stack trace:
Thread-118 “[STUCK] ExecuteThread: ’10′ for queue: ‘weblogic.kernel.Default (self-tuning)’” <alive, suspended, waiting, priority=1, DAEMON> {
— Waiting for notification on: oracle.tip.adapter.db.InboundWork@21b8e86[fat lock]
java.lang.Object.wait(Object.java:???)
oracle.tip.adapter.db.InboundWork.run(InboundWork.java:498)
oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
weblogic.work.ContextWrap.run(ContextWrap.java:39)
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:203)
weblogic.work.ExecuteThread.run(ExecuteThread.java:170)
}>

  • and/or server health state from OSB managed server changing from state “Ok” to state “Warning”

Such a behaviour alerts administrators, thinking that something is wrong with the deployed applications or OSB services.

Looking in the Oracle documentation one can find the information that this is behaviour by design and that it can be ignored. To verify the OSB proxy service’s database adapter as the source for this the proxy service has  to be simply disabled in OSB console. Doing so makes the stuck threads disappear. The behaviour seems strange at the  - so why this?

When defining an inbound database adapter, Weblogic threads are used to perform the polling on events occurring in the defined database. Because OSB is designed to deliver high performance and throughput, a number of threads, which depends on the numberOfThreads property in the adapter’s JCA file, is exclusively reserved for the database adapter to perform the inbound polling. Such reserved threads will, due to performance reasons, never be released and never be returned to the corresponding thread pool. After the configured thread timeout, which is by default about 600 seconds, the stuck thread behaviour occurs.

Although this is the default behaviour, it is really confusing and could lead into serious problems, if real threading problems occur in deployed applications/services that are not caused by the adapter threads and which will not be noticed and handled in time. So what can be done to get rid of the stuck adapter threads?

The Oracle documentation proposes to define a separate Work manager and configure this with the proxy service transport’s dispatch policy. To do so, the following steps has to be performed:

  • Define a custom global Work manager using weblogic console with the OSB managed server as deployment target


work_manager

  • Configure the new defined Work manager to ignore stuck threads

ignoreStuckThreads_wm_config

  • Configure OSB proxy service transport’s dispatch policy to use the new defined Work manager

OSB_proxy config

Afterwards the stuck threads behaviour caused the OSB proxy service or by its configured inbound database adapter should not show up again.

Standard-based integration of human interaction in SOA

26. Mai 2012 1 Kommentar

IT infrastructures and systems following the SOA paradigm are build upon standards. In such scenarios BPMN 2.0 can be used for the automation of business processes for example. The processes can be executed by a process engine. In such business processes the integration of human actors is often needed, to make complex decisions that cannot be made by a machine. The communication between the human actor and the process engine is done by tasks, which are often managed by separate task engines. Authorized users are able to work on the tasks using a provided task UI, a so called inbox or tasklist application. As one can see there are at least two consumers for the services provided by a task engine: the task UIs and the process engines.

Although a specification, the WS-HT (WS Human Task) specification, for the standard-based integration of human interaction in SOA is available, task engine interfaces are vendor-specific and not standard-based actually, e.g. using RMI or native Java method invocation for communication. This leads to the following problems:

  • Portability issues
  • Interoperability issues
  • Tight coupling

To deal with the problems of vendor-specific interfaces in the area of human interaction, I defined a adapter framework, the Generic Human Interaction Adapter (GHIA), which provides a interface that is based on the definitions propagated by the WS-HT specification. Features of the GHIA-Framework are a standard-based interface (SOAP based on WS-HT and REST) and the opportunity to transparently communicate with more than one task-engine, e.g. for the synchronization of different inboxes. Scenarios where the GHIA-Framework can be used, delivering a great benefit, are:

  • Integration scenarios (more than one task-engine is used)
  • Decoupling scenarios (e.g. for decoupling task UIs from the vendor-specific inerfaces)
  • Migration scenarios (when moving from one release to a higher one, to ensure that long running process with human interaction can be ended within the older versioned plattform)
To validate the framework I have implemented a prototyp, using a subset of the operations defined by WS-HT, where the task-enignes from the Oracle BPM Suite 11g and the Activiti BPM Platform 5.8 are integrated transparently behind one standard-based interface. For this scenario using the GHIA framework leads to the following architectural layout:
The prototyp shows that the intended expectations I made before starting the implementation of the framework could be met. As a result a lightweight and easily extendable framework has been created which will be refined, and extended over the next months. Interested readers will be kept updated about the further evolution of the GHIA framework in this blog.

Nachlese SOA, BPM & Integration Days 2012 Spring

Bei den SOA, BPM & Integration Days  (29.02.-01.03)  gab es auch diesmal wieder interessante Vorträge und Workshops zu aktuellen Themen aus den Bereichen Adaptive Prozesse, SOA-Security und Systemintegration. Auch abseits der Vorträgen und Workshops gab es zudem genügend Freiräume für einen Meinungs- und Erfahrungsaustausch zwischen den anwesenden Speakern und anderen Experten aus unterschiedlichen Bereichen.

Am ersten Tag gab es je Themenbereich vier Vorträge. Themen hierbei waren unter anderem:

  • Bewältigung der Komplexität adaptiver Prozesse
  • Bedeutung und Rolle des Adaptive Case Management (ACM)
  • Herausforderungen bei der Integration heterogener Systeme
  • Verbindung von Master Data Management (MDM) und Integrationsansätzen
  • Vorstellung eines transparenten Vorgehens für die Identifikation von SOA Services
  • Herausforderungen aus dem Bereich SOA Security

Zum Auftakt des Tages wurde das Thema adaptive Prozesse von Ralf Müller im Rahmen einer Keynote motiviert und dabei auf die Möglichkeiten der Umsetzung mit der Oracle BPM Suite eingegangen. In einer zweiten Keynote von Sebastian Schreiber wurden im Rahmen eines Live-Hackings verschiedene Systemangriffe, wie beispielsweise über die Manipulation eines Barcodes eine SQL-Injection durchgeführt werden kann, demonstriert.

Zum Abschluss des Tages gab es noch ein, von Jürgen Kress moderiertes, Speaker-Panel, in dem die Frage „Wozu braucht man überhaupt BPM-Lösungen in Deutschland?“ diskutiert wurde. Hierbei waren alle Konferenzteilnehmer dazu eingeladen von ihren Projekterfahrungen mit dem Thema BPM zu berichten. Es entstand eine spannende Diskussion in deren Verlauf die dem Thema BPM inhärente Komplexität kontrovers diskutiert wurde, die von einigen Panelteilnehmern als Grund dafür identifiziert wurde, dass es zurzeit nur wenige BPM-Projekte in Deutschland gibt.

Am zweiten Konferenztag wurden in sechs verschiedene Workshops die am Vortag motivierten Themen noch einmal tiefergehend behandelt. Hier gab es unter anderem einen sehr guten Workshop zum Thema BPMN von Dr. Volker Stiehl.

Mein Fazit zu der Veranstaltung: Sehr gelungen! Es wurden aktuelle Probleme und Herausforderungen aus den Bereichen SOA, BPM & Integration adressiert und zudem ein Forum geboten, um Erfahrungen und Erkenntnisse auszutauschen sowie aktuelle Entwicklungen in diesen Bereichen zu diskutieren. Ich freue mich schon auf die nächsten SBI-Days!

Kategorien:Konferenzen
Follow

Bekomme jeden neuen Artikel in deinen Posteingang.