Frage

Ich möchte einen Workmanager verwenden, um einige parallele Jobs auf einem WebLogic 10.3 App-Server zu planen.

http: // java .sun.com / JavaEE / 5 / docs / api / javax / Mittel / spi / work / WorkManager.html

Ich finde die Oracle / BEA-Dokumentation ein wenig fragmentiert und schwer zu folgen und es keine gute Beispiele für WorkManagers von EJB 3.0 verwendet wird.

Insbesondere, ich möchte wissen:

1) Was genau, wenn überhaupt, dann mache ich in meiner Deployment-Deskriptoren (ejb-jar.xml und Freunde setzen müssen)?

2) Ich mag die @Resource Anmerkung verwenden, um die Work in meinen EJB 3-Session-Bean zu injizieren. Was „name“ muss ich für die Ressource verwenden?

3) Wie konfiguriere ich die Anzahl der Threads und andere Parameter für das Workmanager.

Mein Verständnis ist, dass die zugrunde liegende Implementierung auf WebLogic ist CommonJ, aber ich würde es vorziehen, einen nicht-proprietären Ansatz, wenn möglich zu verwenden.

War es hilfreich?

Lösung

Als erstes werden Sie die Dokumentation von CommonJ finden, eine Implementierung der Timer und Work Manager API entwickelt von BEA Oracle und IBM, in Timer und Work Manager API (CommonJ) Leitfaden des Programmierers. Sie bieten ein Work Manager Beispiel, aber es ist in diesem Dokument nicht injiziert werden.

  

1) Was genau, wenn überhaupt, dann mache ich in meiner Deployment-Deskriptoren (ejb-jar.xml und Freunde setzen müssen)?

Nach dem Work Manager Deployment Abschnitt:

  

Arbeits Manager werden bei der Definition   Server-Ebene über eine Ressource-ref in der   entsprechender Deployment Descriptor.   Dies kann web.xml oder ejb-jar.xml sein   unter anderem.

     

In der folgenden Deployment Descriptor   Fragment veranschaulicht, wie konfigurieren   ein WorkManager:

...
<resource-ref>
   <res-ref-name>wm/MyWorkManager</res-ref-name>
   <res-type>commonj.work.WorkManager</res-type>
   <res-auth>Container</res-auth>
   <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
...
     

Hinweis: Der empfohlene Präfix für den JNDI-Namensraum für Work   Objekte sind Java. comp / env / wm

Überprüfen Sie die Work javadocs, um weitere Informationen (zB „ die res-auth und res-Sharing-Bereiche in dieser Version der Spezifikation ignoriert werden. die EJB oder Servlet dann das Workmanager verwenden können, wie es muss. “) .

  

2) Ich mag die @Resource Anmerkung verwenden, um die Work in meinen EJB 3-Session-Bean zu injizieren. Was „name“ muss ich für die Ressource verwenden?

Ich würde sagen, so etwas wie diese (nicht getestet):

@ResourceRef(jndiName="java:comp/env/wm/MyWorkManager",
auth=ResourceRef.Auth.CONTAINER,
type="commonj.work.WorkManager",
name="MyWorkManager")
  

3) Wie konfiguriere ich die Anzahl der Threads und andere Parameter für das Workmanager.

Sehen Sie die Beschreibung des <work-manager> -Element und Arbeits Manager Mit geplanten Arbeiten zur Optimierung für detaillierte Informationen über Arbeits Manager

  

Mein Verständnis ist, dass die zugrunde liegende Implementierung auf WebLogic ist CommonJ, aber ich würde es vorziehen, einen nicht-proprietären Ansatz, wenn möglich zu verwenden.

Ich habe keinen anderen Vorschlag (und, solange diese Implementierung der Standards folgt, hätte ich nichts dagegen es verwendet wird).

Andere Tipps

Die Weblogic Dokumentation wird Ihre Fragen beantworten. Arbeits Manager Mit geplanten Arbeiten zur Optimierung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top