[jboss-cvs] JBossAS SVN: r92986 - projects/docs/enterprise/4.3.3/Server_Configuration_Guide/de-DE.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Aug 28 21:00:18 EDT 2009
Author: jdimanos at jboss.com
Date: 2009-08-28 21:00:17 -0400 (Fri, 28 Aug 2009)
New Revision: 92986
Modified:
projects/docs/enterprise/4.3.3/Server_Configuration_Guide/de-DE/J2EE_Reference_Introduction.po
Log:
update
Modified: projects/docs/enterprise/4.3.3/Server_Configuration_Guide/de-DE/J2EE_Reference_Introduction.po
===================================================================
--- projects/docs/enterprise/4.3.3/Server_Configuration_Guide/de-DE/J2EE_Reference_Introduction.po 2009-08-28 21:37:32 UTC (rev 92985)
+++ projects/docs/enterprise/4.3.3/Server_Configuration_Guide/de-DE/J2EE_Reference_Introduction.po 2009-08-29 01:00:17 UTC (rev 92986)
@@ -8,7 +8,7 @@
"Project-Id-Version: J2EE_Reference_Introduction\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-20 02:37+0000\n"
-"PO-Revision-Date: 2009-08-25 07:47+1000\n"
+"PO-Revision-Date: 2009-08-29 10:59+1000\n"
"Last-Translator: \n"
"Language-Team: <en at li.org>\n"
"MIME-Version: 1.0\n"
@@ -5238,6 +5238,9 @@
"url}/deploy/</literal>, which is local or remote depending on the URL used "
"to boot the server"
msgstr ""
+"<emphasis role=\"bold\">deploy/</emphasis> scannt <literal>${jboss.server."
+"url}/deploy/</literal>, das - je nach zum Boot des Servers verwendeter URL - "
+"lokal oder Remote ist"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1636
@@ -5246,6 +5249,8 @@
"<emphasis role=\"bold\">${jboss.server.home.dir}/deploy/</emphasis> scans "
"<emphasis>${jboss.server.home.dir)/deploy</emphasis>, which is always local"
msgstr ""
+"<emphasis role=\"bold\">${jboss.server.home.dir}/deploy/</emphasis> scannt "
+"<emphasis>${jboss.server.home.dir)/deploy</emphasis>, das stets lokal ist"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1641
@@ -5254,16 +5259,18 @@
"<emphasis role=\"bold\">file:/var/opt/myapp.ear</emphasis> deploys "
"<literal>myapp.ear</literal> from a local location"
msgstr ""
+"<emphasis role=\"bold\">file:/var/opt/myapp.ear</emphasis> deployt "
+"<literal>myapp.ear</literal> von einem lokalen Speicherort"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1646
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">file:/var/opt/apps/</emphasis> scans the specified "
"directory"
msgstr ""
-"<emphasis role=\"bold\">ip_ttl</emphasis> legt den TTL für Multicast-Pakete "
-"fest."
+"<emphasis role=\"bold\">file:/var/opt/apps/</emphasis> scannt das festgelgte "
+"Verzeichnis"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1651
@@ -5272,6 +5279,8 @@
"<emphasis role=\"bold\">http://www.test.com/netboot/myapp.ear</emphasis> "
"deploys <literal>myapp.ear</literal> from a remote location"
msgstr ""
+"<emphasis role=\"bold\">http://www.test.com/netboot/myapp.ear</emphasis> "
+"deployt <literal>myapp.ear</literal> von einem Remote-Standort"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1656
@@ -5337,6 +5346,14 @@
"DeploymentFilter</literal> which is an implementation that rejects the "
"following patterns:"
msgstr ""
+"<emphasis role=\"bold\">Filter</emphasis>: Der Klassenname einer "
+"<literal>java."
+"io.FileFilter</literal>-Implementierung, die zum Filtern der Inhalte "
+"gescannter Verzeichnisse verwendet wird. Von diesem Filter nicht akzeptierte "
+"Dateien werden nicht deployt. "
+"Der Standard lautet <literal>org.jboss.deployment.scanner."
+"DeploymentFilter</literal>, was eine die folgenden Muster abweisende "
+"Implementierung ist:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1679
@@ -5354,6 +5371,17 @@
"literal>\", \"<literal>TAGS</literal>\", \"<literal>core</literal>\", "
"\"<literal>tags</literal>\""
msgstr ""
+"\"<literal>#*</literal>\", \"<literal>%*</literal>\", \"<literal>,*</literal>"
+"\", \"<literal>.*</literal>\", \"<literal>_$*</literal>\", \"<literal>*#</"
+"literal>\", \"<literal>*$</literal>\", \"<literal>*%</literal>\", "
+"\"<literal>*.BAK</literal>\", \"<literal>*.old</literal>\", \"<literal>*."
+"orig</literal>\", \"<literal>*.rej</literal>\", \"<literal>*.bak</literal>"
+"\", \"<literal>*.sh</literal>\", \"<literal>*,v</literal>\", \"<literal>*~</"
+"literal>\", \"<literal>.make.state</literal>\", \"<literal>.nse_depinfo</"
+"literal>\", \"<literal>CVS</literal>\", \"<literal>CVS.admin</literal>\", "
+"\"<literal>RCS</literal>\", \"<literal>RCSLOG</literal>\", \"<literal>SCCS</"
+"literal>\", \"<literal>TAGS</literal>\", \"<literal>core</literal>\", "
+"\"<literal>tags</literal>\""
#. Tag: para
#: J2EE_Reference_Introduction.xml:1684
@@ -5388,7 +5416,7 @@
#: J2EE_Reference_Introduction.xml:1699
#, no-c-format
msgid "Writing JBoss MBean Services"
-msgstr ""
+msgstr "Das Schreiben von JBoss MBean-Diensten"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1700
@@ -5461,7 +5489,7 @@
#: J2EE_Reference_Introduction.xml:1724
#, no-c-format
msgid "A Standard MBean Example"
-msgstr ""
+msgstr "Ein Standard MBean-Beispiel"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1725
@@ -5513,6 +5541,18 @@
" public void stop() throws Exception;\n"
"}"
msgstr ""
+"package org.jboss.book.jmx.ex1;\n"
+" \n"
+"// The JNDIMap MBean interface\n"
+"import javax.naming.NamingException;\n"
+" \n"
+"public interface JNDIMapMBean\n"
+"{\n"
+" public String getJndiName();\n"
+" public void setJndiName(String jndiName) throws NamingException;\n"
+" public void start() throws Exception;\n"
+" public void stop() throws Exception;\n"
+"}"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1733
@@ -5586,6 +5626,73 @@
" }\n"
"}"
msgstr ""
+"package org.jboss.book.jmx.ex1;\n"
+"\n"
+"// The JNDIMap MBean implementation\n"
+"import java.util.HashMap;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.Name;\n"
+"import javax.naming.NamingException;\n"
+"import org.jboss.naming.NonSerializableFactory;\n"
+"\n"
+"public class JNDIMap implements JNDIMapMBean\n"
+"{\n"
+" private String jndiName;\n"
+" private HashMap contextMap = new HashMap();\n"
+" private boolean started;\n"
+" \n"
+" public String getJndiName()\n"
+" {\n"
+" return jndiName;\n"
+" }\n"
+" public void setJndiName(String jndiName) throws NamingException\n"
+" {\n"
+" String oldName = this.jndiName;\n"
+" this.jndiName = jndiName;\n"
+" if (started) {\n"
+" unbind(oldName);\n"
+" try {\n"
+" rebind();\n"
+" } catch(Exception e) {\n"
+" NamingException ne = new NamingException(\"Failedto update "
+"jndiName\");\n"
+" ne.setRootCause(e);\n"
+" throw ne;\n"
+" }\n"
+" }\n"
+" }\n"
+"\n"
+" public void start() throws Exception\n"
+" {\n"
+" started = true;\n"
+" rebind();\n"
+" }\n"
+" \n"
+" public void stop()\n"
+" {\n"
+" started = false;\n"
+" unbind(jndiName);\n"
+" }\n"
+" \n"
+" private void rebind() throws NamingException\n"
+" {\n"
+" InitialContext rootCtx = new InitialContext();\n"
+" Name fullName = rootCtx.getNameParser(\"\").parse(jndiName);\n"
+" System.out.println(\"fullName=\"+fullName);\n"
+" NonSerializableFactory.rebind(fullName, contextMap, true);\n"
+" }\n"
+"\n"
+" private void unbind(String jndiName)\n"
+" {\n"
+" try {\n"
+" InitialContext rootCtx = new InitialContext();\n"
+" rootCtx.unbind(jndiName);\n"
+" NonSerializableFactory.unbind(jndiName);\n"
+" } catch(NamingException e) {\n"
+" e.printStackTrace();\n"
+" }\n"
+" }\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1734
@@ -5632,6 +5739,16 @@
" public void setJndiName(String jndiName) throws NamingException;\n"
"}"
msgstr ""
+"package org.jboss.book.jmx.ex2;\n"
+"\n"
+"// The JNDIMap MBean interface\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"public interface JNDIMapMBean extends org.jboss.system.ServiceMBean\n"
+"{\n"
+" public String getJndiName();\n"
+" public void setJndiName(String jndiName) throws NamingException;\n"
+"}"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1739
@@ -5704,6 +5821,72 @@
" }\n"
"}"
msgstr ""
+"package org.jboss.book.jmx.ex2;\n"
+"// The JNDIMap MBean implementation\n"
+"import java.util.HashMap;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.Name;\n"
+"import javax.naming.NamingException;\n"
+"import org.jboss.naming.NonSerializableFactory;\n"
+"\n"
+"public class JNDIMap extends org.jboss.system.ServiceMBeanSupport\n"
+" implements JNDIMapMBean\n"
+"{\n"
+" private String jndiName;\n"
+" private HashMap contextMap = new HashMap();\n"
+" \n"
+" public String getJndiName()\n"
+" {\n"
+" return jndiName;\n"
+" }\n"
+"\n"
+" public void setJndiName(String jndiName) \n"
+" throws NamingException\n"
+" {\n"
+" String oldName = this.jndiName;\n"
+" this.jndiName = jndiName;\n"
+" if (super.getState() == STARTED) {\n"
+" unbind(oldName);\n"
+" try {\n"
+" rebind();\n"
+" } catch(Exception e) {\n"
+" NamingException ne = new NamingException(\"Failed to update "
+"jndiName\");\n"
+" ne.setRootCause(e);\n"
+" throw ne;\n"
+" }\n"
+" }\n"
+" }\n"
+" \n"
+" public void startService() throws Exception\n"
+" {\n"
+" rebind();\n"
+" }\n"
+"\n"
+" public void stopService()\n"
+" {\n"
+" unbind(jndiName);\n"
+" }\n"
+" \n"
+" private void rebind() throws NamingException\n"
+" {\n"
+" InitialContext rootCtx = new InitialContext();\n"
+" Name fullName = rootCtx.getNameParser(\"\").parse(jndiName);\n"
+" log.info(\"fullName=\"+fullName);\n"
+" NonSerializableFactory.rebind(fullName, contextMap, true);\n"
+" }\n"
+"\n"
+" private void unbind(String jndiName)\n"
+" {\n"
+" try {\n"
+" InitialContext rootCtx = new InitialContext();\n"
+" rootCtx.unbind(jndiName);\n"
+" NonSerializableFactory.unbind(jndiName);\n"
+" } catch(NamingException e) {\n"
+" log.error(\"Failed to unbind map\", e);\n"
+" }\n"
+" }\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1740
@@ -5713,12 +5896,15 @@
"located in the <literal>examples/src/main/org/jboss/book/jmx/{ex1,ex2}</"
"literal> directories."
msgstr ""
+"Der Quellcode für diese MBeans sowie die Service-Deskriptoren "
+"befindet sich in den <literal>examples/src/main/org/jboss/book/jmx/{ex1,ex2}</"
+"literal>-Verzeichnissen."
#. Tag: para
#: J2EE_Reference_Introduction.xml:1743
#, no-c-format
msgid "The jboss-service.xml descriptor for the first version is shown below."
-msgstr ""
+msgstr "Der jboss-service.xml Deskriptor für die erste Version ist unten dargestellt."
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1746
@@ -5734,6 +5920,15 @@
" </mbean>\n"
"</server>"
msgstr ""
+"<!-- The SAR META-INF/jboss-service.xml descriptor -->\n"
+"<server>\n"
+" <mbean code=\"org.jboss.book.jmx.ex1.JNDIMap\" \n"
+" name=\"j2eechap2.ex1:service=JNDIMap\">\n"
+" <attribute name=\"JndiName\">inmemory/maps/MapTest</"
+"attribute>\n"
+" <depends>jboss:service=Naming</depends>\n"
+" </mbean>\n"
+"</server>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1747
@@ -5754,12 +5949,15 @@
"InitialContext ctx = new InitialContext();\n"
"HashMap map = (HashMap) ctx.lookup(\"inmemory/maps/MapTest\");"
msgstr ""
+"// Sample lookup code\n"
+"InitialContext ctx = new InitialContext();\n"
+"HashMap map = (HashMap) ctx.lookup(\"inmemory/maps/MapTest\");"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1754
#, no-c-format
msgid "XMBean Examples"
-msgstr ""
+msgstr "XMBean-Beispiele"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1755
@@ -5804,7 +6002,7 @@
#: J2EE_Reference_Introduction.xml:1781
#, no-c-format
msgid "Version 1, The Annotated JNDIMap XMBean"
-msgstr ""
+msgstr "Version 1, Das annotierte JNDIMap XMBean"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1782
@@ -5838,6 +6036,20 @@
" </mbean>\n"
"</server>"
msgstr ""
+"<?xml version='1.0' encoding='UTF-8' ?>\n"
+"<!DOCTYPE server PUBLIC \n"
+" \"-//JBoss//DTD MBean Service 3.2//EN\"\n"
+" \"http://www.jboss.org/j2ee/dtd/jboss-service_3_2.dtd"
+"\">\n"
+"<server>\n"
+" <mbean code=\"org.jboss.book.jmx.xmbean.JNDIMap\"\n"
+" name=\"j2eechap2.xmbean:service=JNDIMap\" \n"
+" xmbean-dd=\"META-INF/jndimap-xmbean.xml\">\n"
+" <attribute name=\"JndiName\">inmemory/maps/MapTest</"
+"attribute>\n"
+" <depends>jboss:service=Naming</depends>\n"
+" </mbean>\n"
+"</server>"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1786
@@ -5998,6 +6210,46 @@
" changed from javax.management.Attribute at 82a72a to \n"
" javax.management.Attribute at acdb96]"
msgstr ""
+"[examples]$ ant -Dchap=jmx -Dex=xmbean1 run-example\n"
+"...\n"
+"run-examplexmbean1: \n"
+" [java] JNDIMap Class: org.jboss.mx.modelmbean.XMBean\n"
+" [java] JNDIMap Operations: \n"
+" [java] + void start()\n"
+" [java] + void stop()\n"
+" [java] + void put(java.lang.Object chap2.xmbean:service=JNDIMap,java."
+"lang.Object \n"
+" chap2.xmbean:service=JNDIMap)\n"
+" [java] + java.lang.Object get(java.lang.Object chap2.xmbean:"
+"service=JNDIMap)\n"
+" [java] name=chap2.xmbean:service=JNDIMap\n"
+" [java] listener=org.jboss.book.jmx.xmbean.TestXMBean1$Listener at f38cf0\n"
+" [java] key=key0, value=value0\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.put]"
+"[message=]\n"
+" [java] JNDIMap.put(key1, value1) successful\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.get]"
+"[message=]\n"
+" [java] JNDIMap.get(key0): null\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.get]"
+"[message=]\n"
+" [java] JNDIMap.get(key1): value1\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.put]"
+"[message=]\n"
+" [java] handleNotification, event: javax.management."
+"AttributeChangeNotification[source\n"
+" =chap2.xmbean:service=JNDIMap][type=jmx.attribute.change]"
+"[message=InitialValues \n"
+" changed from javax.management.Attribute at 82a72a to \n"
+" javax.management.Attribute at acdb96]"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1791
@@ -6031,7 +6283,7 @@
#: J2EE_Reference_Introduction.xml:1798
#, no-c-format
msgid "The Version 1 JNDIMapXMBean jmx-console view"
-msgstr ""
+msgstr "Die Version 1 JNDIMapXMBean jmx-console Ansicht"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1805
@@ -6057,6 +6309,8 @@
"In version 2 of the XMBean we add support for persistence of the XMBean "
"attributes. The updated XMBean deployment descriptor is given below."
msgstr ""
+"In version 2 des XMBean fügen wir Support für Persistenz der XMBean "
+"Attribute hinzu. Der aktualisierte XMBean Deployment-Deskriptor ist unten angegeben."
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1815
@@ -6165,12 +6419,114 @@
" </notification>\n"
"</mbean>"
msgstr ""
+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<!DOCTYPE mbean PUBLIC\n"
+" \"-//JBoss//DTD JBOSS XMBEAN 1.0//EN\"\n"
+" \"http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_0.dtd\">\n"
+"<mbean>\n"
+" <description>The JNDIMap XMBean Example Version 2</"
+"description>\n"
+" <descriptors>\n"
+" <persistence persistPolicy=\"OnUpdate\" persistPeriod=\"10\"\n"
+" persistLocation=\"${jboss.server.data.dir}\" persistName="
+"\"JNDIMap.ser\"/>\n"
+" <currencyTimeLimit value=\"10\"/>\n"
+" <state-action-on-update value=\"keep-running\"/>\n"
+" <persistence-manager value=\"org.jboss.mx.persistence."
+"ObjectStreamPersistenceManager\"/>\n"
+" </descriptors> <class>org.jboss.test.jmx.xmbean.JNDIMap</"
+"class>\n"
+" <constructor>\n"
+" <description>The default constructor</description>\n"
+" <name>JNDIMap</name>\n"
+" </constructor> \n"
+" <!-- Attributes -->\n"
+" <attribute access=\"read-write\" getMethod=\"getJndiName\" setMethod="
+"\"setJndiName\">\n"
+" <description>\n"
+" The location in JNDI where the Map we manage will be bound\n"
+" </description>\n"
+" <name>JndiName</name>\n"
+" <type>java.lang.String</type>\n"
+" <descriptors>\n"
+" <default value=\"inmemory/maps/MapTest\"/>\n"
+" </descriptors>\n"
+" </attribute>\n"
+" <attribute access=\"read-write\" getMethod=\"getInitialValues\"\n"
+" setMethod=\"setInitialValues\">\n"
+" <description>The array of initial values that will be placed "
+"into the\n"
+" map associated with the service. The array is a collection of\n"
+" key,value pairs with elements[0,2,4,...2n] being the keys and\n"
+" elements [1,3,5,...,2n+1] the associated values</"
+"description>\n"
+" <name>InitialValues</name>\n"
+" <type>[Ljava.lang.String;</type>\n"
+" <descriptors>\n"
+" <default value=\"key0,value0\"/>\n"
+" </descriptors>\n"
+" </attribute> \n"
+" <!-- Operations -->\n"
+" <operation>\n"
+" <description>The start lifecycle operation</"
+"description>\n"
+" <name>start</name>\n"
+" </operation>\n"
+" <operation>\n"
+" <description>The stop lifecycle operation</description>\n"
+" <name>stop</name>\n"
+" </operation>\n"
+" <operation impact=\"ACTION\">\n"
+" <description>Put a value into the nap</description>\n"
+" <name>put</name>\n"
+" <parameter>\n"
+" <description>The key the value will be store under</"
+"description>\n"
+" <name>key</name>\n"
+" <type>java.lang.Object</type>\n"
+" </parameter>\n"
+" <parameter>\n"
+" <description>The value to place into the map</"
+"description>\n"
+" <name>value</name>\n"
+" <type>java.lang.Object</type>\n"
+" </parameter>\n"
+" </operation>\n"
+" <operation impact=\"INFO\">\n"
+" <description>Get a value from the map</description>\n"
+" <name>get</name>\n"
+" <parameter>\n"
+" <description>The key to lookup in the map</"
+"description>\n"
+" <name>get</name>\n"
+" <type>java.lang.Object</type>\n"
+" </parameter>\n"
+" <return-type>java.lang.Object</return-type>\n"
+" </operation> \n"
+" <!-- Notifications -->\n"
+" <notification>\n"
+" <description>The notification sent whenever a value is get "
+"into the map\n"
+" managed by the service</description>\n"
+" <name>javax.management.Notification</name>\n"
+" <notification-type>org.jboss.book.jmx.xmbean.JNDIMap.get</"
+"notification-type>\n"
+" </notification>\n"
+" <notification>\n"
+" <description>The notification sent whenever a value is put "
+"into the map\n"
+" managed by the service</description>\n"
+" <name>javax.management.Notification</name>\n"
+" <notification-type>org.jboss.book.jmx.xmbean.JNDIMap.put</"
+"notification-type>\n"
+" </notification>\n"
+"</mbean>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1816
#, no-c-format
msgid "Build, deploy and test the version 2 XMBean as follows:"
-msgstr ""
+msgstr "Build, Deployment und Test des Version 2 XMBean wie folgt:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1819
@@ -6221,6 +6577,50 @@
"timeStamp=1098632\n"
"693925,message=null,userData=null]"
msgstr ""
+"[examples]$ ant -Dchap=jmx -Dex=xmbean2 -Djboss.deploy.conf=default run-"
+"example\n"
+"...\n"
+"run-examplexmbean2:\n"
+" [java] JNDIMap Class: org.jboss.mx.modelmbean.XMBean\n"
+" [java] JNDIMap Operations: \n"
+" [java] + void start()\n"
+" [java] + void stop()\n"
+" [java] + void put(java.lang.Object chap2.xmbean:service=JNDIMap,java."
+"lang.Object cha\n"
+"p2.xmbean:service=JNDIMap)\n"
+" [java] + java.lang.Object get(java.lang.Object chap2.xmbean:"
+"service=JNDIMap)\n"
+" [java] + java.lang.String getJndiName()\n"
+" [java] + void setJndiName(java.lang.String chap2.xmbean:"
+"service=JNDIMap)\n"
+" [java] + [Ljava.lang.String; getInitialValues()\n"
+" [java] + void setInitialValues([Ljava.lang.String; chap2.xmbean:"
+"service=JNDIMap)\n"
+" [java] handleNotification, event: null\n"
+" [java] key=key10, value=value10\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=7,"
+"timeStamp=10986326\n"
+"93716,message=null,userData=null]\n"
+" [java] JNDIMap.put(key1, value1) successful\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.get,sequenceNumber=8,"
+"timeStamp=10986326\n"
+"93857,message=null,userData=null]\n"
+" [java] JNDIMap.get(key0): null\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.get,sequenceNumber=9,"
+"timeStamp=10986326\n"
+"93896,message=null,userData=null]\n"
+" [java] JNDIMap.get(key1): value1\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=10,"
+"timeStamp=1098632\n"
+"693925,message=null,userData=null]"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1820
@@ -6241,6 +6641,10 @@
" [java] InitialValues.length=2\n"
" [java] key=key10, value=value10"
msgstr ""
+"[examples] ant -Dchap=jmx -Dex=xmbean2a run-example\n"
+"...\n"
+" [java] InitialValues.length=2\n"
+" [java] key=key10, value=value10"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1825
@@ -6274,6 +6678,10 @@
"setting, and then adds another key/value pair to it. The client code is "
"shown below."
msgstr ""
+"Das in diesem Beispiel verwendete "
+"<literal>org.jboss.book.jmx.xmbean.TestXMBeanRestart</literal> enthält die "
+"aktuelle <literal>InitialValues</literal>-Attributeinstellung und fügt dann "
+"ein weiteres Schlüssel/Wert-Paar hinzu. Der Client-Code ist unten dargestellt."
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1833
@@ -6332,6 +6740,58 @@
" }\n"
"}"
msgstr ""
+"package org.jboss.book.jmx.xmbean;\n"
+"\n"
+"import javax.management.Attribute;\n"
+"import javax.management.ObjectName;\n"
+"import javax.naming.InitialContext;\n"
+"\n"
+"import org.jboss.jmx.adaptor.rmi.RMIAdaptor;\n"
+"\n"
+"/**\n"
+" * A client that demonstrates the persistence of the xmbean\n"
+" * attributes. Every time it run it looks up the InitialValues\n"
+" * attribute, prints it out and then adds a new key/value to the\n"
+" * list.\n"
+" * \n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.1 $\n"
+" */\n"
+"public class TestXMBeanRestart\n"
+"{\n"
+" /**\n"
+" * @param args the command line arguments\n"
+" */\n"
+" public static void main(String[] args) throws Exception\n"
+" {\n"
+" InitialContext ic = new InitialContext();\n"
+" RMIAdaptor server = (RMIAdaptor) ic.lookup(\"jmx/rmi/RMIAdaptor\");\n"
+" \n"
+" // Get the InitialValues attribute\n"
+" ObjectName name = new ObjectName(\"j2eechap2.xmbean:service=JNDIMap"
+"\");\n"
+" String[] initialValues = (String[])\n"
+" server.getAttribute(name, \"InitialValues\");\n"
+" System.out.println(\"InitialValues.length=\"+initialValues.length);\n"
+" int length = initialValues.length;\n"
+" for (int n = 0; n < length; n += 2) {\n"
+" String key = initialValues[n];\n"
+" String value = initialValues[n+1];\n"
+" \n"
+" System.out.println(\"key=\"+key+\", value=\"+value);\n"
+" }\n"
+" // Add a new key/value pair\n"
+" String[] newInitialValues = new String[length+2];\n"
+" System.arraycopy(initialValues, 0, newInitialValues,\n"
+" 0, length);\n"
+" newInitialValues[length] = \"key\"+(length/2+1);\n"
+" newInitialValues[length+1] = \"value\"+(length/2+1);\n"
+" \n"
+" Attribute ivalues = new\n"
+" Attribute(\"InitialValues\", newInitialValues);\n"
+" server.setAttribute(name, ivalues);\n"
+" }\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1834
@@ -6341,6 +6801,9 @@
"rerun the initial example to see if the changes are persisted across server "
"restarts:"
msgstr ""
+"An diesem Punkt können Sie den JBoss-Server sogar herunterfahren, neu starten "
+"und das Anfangsbeispiel erneut laufen lassen, um zu sehen, ob die Änderungen "
+"über Server-Neustarts hinweg persistiert wurden:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1837
@@ -6409,6 +6872,68 @@
"timeStamp=10986\n"
"33665614,message=null,userData=null]"
msgstr ""
+"[examples]$ ant -Dchap=jmx -Dex=xmbean2 run-example\n"
+"...\n"
+"\n"
+"run-examplexmbean2:\n"
+" [java] JNDIMap Class: org.jboss.mx.modelmbean.XMBean\n"
+" [java] JNDIMap Operations: \n"
+" [java] + void start()\n"
+" [java] + void stop()\n"
+" [java] + void put(java.lang.Object chap2.xmbean:service=JNDIMap,java."
+"lang.Object cha\n"
+"p2.xmbean:service=JNDIMap)\n"
+" [java] + java.lang.Object get(java.lang.Object chap2.xmbean:"
+"service=JNDIMap)\n"
+" [java] + java.lang.String getJndiName()\n"
+" [java] + void setJndiName(java.lang.String chap2.xmbean:"
+"service=JNDIMap)\n"
+" [java] + [Ljava.lang.String; getInitialValues()\n"
+" [java] + void setInitialValues([Ljava.lang.String; chap2.xmbean:"
+"service=JNDIMap)\n"
+" [java] handleNotification, event: null\n"
+" [java] <emphasis role=\"bold\">key=key10, value=value10</emphasis>\n"
+" [java] <emphasis role=\"bold\">key=key2, value=value2</emphasis>\n"
+" [java] <emphasis role=\"bold\">key=key3, value=value3</emphasis>\n"
+" [java] <emphasis role=\"bold\">key=key4, value=value4</emphasis>\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=3,"
+"timeStamp=10986\n"
+"33664712,message=null,userData=null]\n"
+" [java] JNDIMap.put(key1, value1) successful\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.get,sequenceNumber=4,"
+"timeStamp=10986\n"
+"33664821,message=null,userData=null]\n"
+" [java] JNDIMap.get(key0): null\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.get,sequenceNumber=5,"
+"timeStamp=10986\n"
+"33664860,message=null,userData=null]\n"
+" [java] JNDIMap.get(key1): value1\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=6,"
+"timeStamp=10986\n"
+"33664877,message=null,userData=null]\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=7,"
+"timeStamp=10986\n"
+"33664895,message=null,userData=null]\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=8,"
+"timeStamp=10986\n"
+"33664899,message=null,userData=null]\n"
+" [java] handleNotification, event: javax.management.Notification"
+"[source=chap2.xmbean:s\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=9,"
+"timeStamp=10986\n"
+"33665614,message=null,userData=null]"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1838
@@ -6417,6 +6942,8 @@
"You see that the last <literal>InitialValues</literal> attribute setting is "
"in fact visible."
msgstr ""
+"Sie sehen, dass die letzte <literal>InitialValues</literal>-Attributeinstellung "
+"tatsächlich sichtbar ist."
#. Tag: title
#: J2EE_Reference_Introduction.xml:1848
@@ -6470,6 +6997,20 @@
"| +- org/jboss/book/jmx/ex3/EjbMBeanAdaptor.class\n"
"+- META-INF/application.xml"
msgstr ""
+"<emphasis role=\"bold\">output/jmx/jmx-ex3.ear</emphasis>\n"
+"+- META-INF/MANIFEST.MF\n"
+"+- META-INF/jboss-app.xml\n"
+"+- jmx-ex3.jar (archive) [EJB jar]\n"
+"| +- META-INF/MANIFEST.MF\n"
+"| +- META-INF/ejb-jar.xml\n"
+"| +- org/jboss/book/jmx/ex3/EchoBean.class\n"
+"| +- org/jboss/book/jmx/ex3/EchoLocal.class\n"
+"| +- org/jboss/book/jmx/ex3/EchoLocalHome.class\n"
+"+- jmx-ex3.sar (archive) [MBean sar]\n"
+"| +- META-INF/MANIFEST.MF\n"
+"| +- META-INF/jboss-service.xml\n"
+"| +- org/jboss/book/jmx/ex3/EjbMBeanAdaptor.class\n"
+"+- META-INF/application.xml"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1856
@@ -6481,6 +7022,11 @@
"implemented the service as a Dynamic MBean to provide an illustration of "
"their use."
msgstr ""
+"Die EAR enthält ein <literal>jmx-ex3.jar</literal> und <literal>jmx-ex3.sar</"
+"literal>. Das <literal>jmx-ex3.jar</literal> ist das EJB-Archiv und das "
+"<literal>jmx-ex3.sar</literal> ist das MBean Service-Archiv. Wir haben den "
+"Dienst als dynamisches MBean (\"Dynamic MBean\") implementiert, um eine "
+"Darstellung der Anwendung zu bieten."
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1859
@@ -6827,6 +7373,346 @@
" \n"
"}"
msgstr ""
+"package org.jboss.book.jmx.ex3;\n"
+" \n"
+"import java.lang.reflect.Method;\n"
+"import javax.ejb.CreateException;\n"
+"import javax.management.Attribute;\n"
+"import javax.management.AttributeList;\n"
+"import javax.management.AttributeNotFoundException;\n"
+"import javax.management.DynamicMBean;\n"
+"import javax.management.InvalidAttributeValueException;\n"
+"import javax.management.JMRuntimeException;\n"
+"import javax.management.MBeanAttributeInfo;\n"
+"import javax.management.MBeanConstructorInfo;\n"
+"import javax.management.MBeanInfo;\n"
+"import javax.management.MBeanNotificationInfo;\n"
+"import javax.management.MBeanOperationInfo;\n"
+"import javax.management.MBeanException;\n"
+"import javax.management.MBeanServer;\n"
+"import javax.management.ObjectName;\n"
+"import javax.management.ReflectionException;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"import org.jboss.system.ServiceMBeanSupport;\n"
+"\n"
+"/** \n"
+" * An example of a DynamicMBean that exposes select attributes and\n"
+" * operations of an EJB as an MBean.\n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.1 $\n"
+" */\n"
+"public class EjbMBeanAdaptor extends ServiceMBeanSupport\n"
+" implements DynamicMBean\n"
+"{\n"
+" private String helloPrefix;\n"
+" private String ejbJndiName;\n"
+" private EchoLocalHome home;\n"
+" \n"
+" /** These are the mbean attributes we expose\n"
+" */\n"
+" private MBeanAttributeInfo[] attributes = {\n"
+" new MBeanAttributeInfo(\"HelloPrefix\", \"java.lang.String\",\n"
+" \"The prefix message to append to the session "
+"echo reply\",\n"
+" true, // isReadable\n"
+" true, // isWritable\n"
+" false), // isIs\n"
+" new MBeanAttributeInfo(\"EjbJndiName\", \"java.lang.String\",\n"
+" \"The JNDI name of the session bean local home"
+"\",\n"
+" true, // isReadable\n"
+" true, // isWritable\n"
+" false) // isIs\n"
+" };\n"
+"\n"
+" /** \n"
+" * These are the mbean operations we expose\n"
+" */\n"
+" private MBeanOperationInfo[] operations;\n"
+" \n"
+" /** \n"
+" * We override this method to setup our echo operation info. It\n"
+" * could also be done in a ctor.\n"
+" */\n"
+" public ObjectName preRegister(MBeanServer server,\n"
+" ObjectName name)\n"
+" throws Exception\n"
+" {\n"
+" log.info(\"preRegister notification seen\");\n"
+" \n"
+" operations = new MBeanOperationInfo[5];\n"
+" \n"
+" Class thisClass = getClass();\n"
+" Class[] parameterTypes = {String.class};\n"
+" Method echoMethod =\n"
+" thisClass.getMethod(\"echo\", parameterTypes);\n"
+" String desc = \"The echo op invokes the session bean echo method and"
+"\"\n"
+" + \" returns its value prefixed with the helloPrefix attribute "
+"value\";\n"
+" operations[0] = new MBeanOperationInfo(desc, echoMethod);\n"
+" \n"
+" // Add the Service interface operations from our super class\n"
+" parameterTypes = new Class[0];\n"
+" Method createMethod =\n"
+" thisClass.getMethod(\"create\", parameterTypes);\n"
+" operations[1] = new MBeanOperationInfo(\"The\n"
+" JBoss Service.create\", createMethod);\n"
+" Method startMethod =\n"
+" thisClass.getMethod(\"start\", parameterTypes);\n"
+" operations[2] = new MBeanOperationInfo(\"The\n"
+" JBoss Service.start\", startMethod);\n"
+" Method stopMethod =\n"
+" thisClass.getMethod(\"stop\", parameterTypes);\n"
+" operations[3] = new MBeanOperationInfo(\"The\n"
+" JBoss Service.stop\", startMethod);\n"
+" Method destroyMethod =\n"
+" thisClass.getMethod(\"destroy\", parameterTypes);\n"
+" operations[4] = new MBeanOperationInfo(\"The\n"
+" JBoss Service.destroy\", startMethod);\n"
+" return name;\n"
+" }\n"
+" \n"
+" \n"
+" // --- Begin ServiceMBeanSupport overides\n"
+" protected void createService() throws Exception\n"
+" {\n"
+" log.info(\"Notified of create state\");\n"
+" }\n"
+"\n"
+" protected void startService() throws Exception\n"
+" {\n"
+" log.info(\"Notified of start state\");\n"
+" InitialContext ctx = new InitialContext();\n"
+" home = (EchoLocalHome) ctx.lookup(ejbJndiName);\n"
+" }\n"
+"\n"
+" protected void stopService()\n"
+" {\n"
+" log.info(\"Notified of stop state\");\n"
+" }\n"
+"\n"
+" // --- End ServiceMBeanSupport overides\n"
+" \n"
+" public String getHelloPrefix()\n"
+" {\n"
+" return helloPrefix;\n"
+" }\n"
+" public void setHelloPrefix(String helloPrefix)\n"
+" {\n"
+" this.helloPrefix = helloPrefix;\n"
+" }\n"
+" \n"
+" public String getEjbJndiName()\n"
+" {\n"
+" return ejbJndiName;\n"
+" }\n"
+" public void setEjbJndiName(String ejbJndiName)\n"
+" {\n"
+" this.ejbJndiName = ejbJndiName;\n"
+" }\n"
+" \n"
+" public String echo(String arg)\n"
+" throws CreateException, NamingException\n"
+" {\n"
+" log.debug(\"Lookup EchoLocalHome@\"+ejbJndiName);\n"
+" EchoLocal bean = home.create();\n"
+" String echo = helloPrefix + bean.echo(arg);\n"
+" return echo;\n"
+" }\n"
+" \n"
+" // --- Begin DynamicMBean interface methods\n"
+" /** \n"
+" * Returns the management interface that describes this dynamic\n"
+" * resource. It is the responsibility of the implementation to\n"
+" * make sure the description is accurate.\n"
+" *\n"
+" * @return the management interface descriptor.\n"
+" */\n"
+" public MBeanInfo getMBeanInfo()\n"
+" {\n"
+" String classname = getClass().getName();\n"
+" String description = \"This is an MBean that uses a session bean in "
+"the\"\n"
+" + \" implementation of its echo operation.\";\n"
+" MBeanInfo[] constructors = null;\n"
+" MBeanNotificationInfo[] notifications = null;\n"
+" MBeanInfo mbeanInfo = new MBeanInfo(classname,\n"
+" description, attributes,\n"
+" constructors, operations,\n"
+" notifications);\n"
+" // Log when this is called so we know when in the\n"
+" lifecycle this is used\n"
+" Throwable trace = new Throwable(\"getMBeanInfo trace\");\n"
+" log.info(\"Don't panic, just a stack\n"
+" trace\", trace);\n"
+" return mbeanInfo;\n"
+" }\n"
+" \n"
+" /** \n"
+" * Returns the value of the attribute with the name matching the\n"
+" * passed string.\n"
+" *\n"
+" * @param attribute the name of the attribute.\n"
+" * @return the value of the attribute.\n"
+" * @exception AttributeNotFoundException when there is no such\n"
+" * attribute.\n"
+" * @exception MBeanException wraps any error thrown by the\n"
+" * resource when\n"
+" * getting the attribute.\n"
+" * @exception ReflectionException wraps any error invoking the\n"
+" * resource.\n"
+" */\n"
+" public Object getAttribute(String attribute)\n"
+" throws AttributeNotFoundException, \n"
+" MBeanException, \n"
+" ReflectionException\n"
+" {\n"
+" Object value = null;\n"
+" if (attribute.equals(\"HelloPrefix\")) {\n"
+" value = getHelloPrefix();\n"
+" } else if(attribute.equals(\"EjbJndiName\")) {\n"
+" value = getEjbJndiName();\n"
+" } else {\n"
+" throw new AttributeNotFoundException(\"Unknown\n"
+" attribute(\"+attribute+\") requested\");\n"
+" }\n"
+" return value;\n"
+" }\n"
+" \n"
+" /** \n"
+" * Returns the values of the attributes with names matching the\n"
+" * passed string array.\n"
+" *\n"
+" * @param attributes the names of the attribute.\n"
+" * @return an {@link AttributeList AttributeList} of name\n"
+" * and value pairs.\n"
+" */\n"
+" public AttributeList getAttributes(String[] attributes)\n"
+" {\n"
+" AttributeList values = new AttributeList();\n"
+" for (int a = 0; a < attributes.length; a++) {\n"
+" String name = attributes[a];\n"
+" try {\n"
+" Object value = getAttribute(name);\n"
+" Attribute attr = new Attribute(name, value);\n"
+" values.add(attr);\n"
+" } catch(Exception e) {\n"
+" log.error(\"Failed to find attribute: \"+name, e);\n"
+" }\n"
+" }\n"
+" return values;\n"
+" }\n"
+" \n"
+" /**\n"
+" * Sets the value of an attribute. The attribute and new value\n"
+" * are passed in the name value pair {@link Attribute\n"
+" * Attribute}.\n"
+" *\n"
+" * @see javax.management.Attribute\n"
+" *\n"
+" * @param attribute the name and new value of the attribute.\n"
+" * @exception AttributeNotFoundException when there is no such\n"
+" * attribute.\n"
+" * @exception InvalidAttributeValueException when the new value\n"
+" * cannot be converted to the type of the attribute.\n"
+" * @exception MBeanException wraps any error thrown by the\n"
+" * resource when setting the new value.\n"
+" * @exception ReflectionException wraps any error invoking the\n"
+" * resource.\n"
+" */\n"
+" public void setAttribute(Attribute attribute)\n"
+" throws AttributeNotFoundException, \n"
+" InvalidAttributeValueException,\n"
+" MBeanException, \n"
+" ReflectionException\n"
+" {\n"
+" String name = attribute.getName();\n"
+" if (name.equals(\"HelloPrefix\")) { \n"
+" String value = attribute.getValue().toString();\n"
+" setHelloPrefix(value);\n"
+" } else if(name.equals(\"EjbJndiName\")) {\n"
+" String value = attribute.getValue().toString();\n"
+" setEjbJndiName(value);\n"
+" } else {\n"
+" throw new AttributeNotFoundException(\"Unknown attribute(\"+name+"
+"\") requested\");\n"
+" }\n"
+" }\n"
+" \n"
+" /**\n"
+" * Sets the values of the attributes passed as an\n"
+" * {@link AttributeList AttributeList} of name and new\n"
+" * value pairs.\n"
+" *\n"
+" * @param attributes the name an new value pairs.\n"
+" * @return an {@link AttributeList AttributeList} of name and\n"
+" * value pairs that were actually set.\n"
+" */\n"
+" public AttributeList setAttributes(AttributeList attributes)\n"
+" {\n"
+" AttributeList setAttributes = new AttributeList();\n"
+" for(int a = 0; a < attributes.size(); a++) {\n"
+" Attribute attr = (Attribute) attributes.get(a);\n"
+" try {\n"
+" setAttribute(attr);\n"
+" setAttributes.add(attr);\n"
+" } catch(Exception ignore) {\n"
+" }\n"
+" }\n"
+" return setAttributes;\n"
+" }\n"
+" \n"
+" /**\n"
+" * Invokes a resource operation.\n"
+" *\n"
+" * @param actionName the name of the operation to perform.\n"
+" * @param params the parameters to pass to the operation.\n"
+" * @param signature the signartures of the parameters.\n"
+" * @return the result of the operation.\n"
+" * @exception MBeanException wraps any error thrown by the\n"
+" * resource when performing the operation.\n"
+" * @exception ReflectionException wraps any error invoking the\n"
+" * resource.\n"
+" */\n"
+" public Object invoke(String actionName, Object[] params,\n"
+" String[] signature)\n"
+" throws MBeanException,\n"
+" ReflectionException\n"
+" {\n"
+" Object rtnValue = null;\n"
+" log.debug(\"Begin invoke, actionName=\"+actionName);\n"
+" try {\n"
+" if (actionName.equals(\"echo\")) {\n"
+" String arg = (String) params[0];\n"
+" rtnValue = echo(arg);\n"
+" log.debug(\"Result: \"+rtnValue);\n"
+" } else if (actionName.equals(\"create\")) {\n"
+" super.create();\n"
+" } else if (actionName.equals(\"start\")) {\n"
+" super.start();\n"
+" } else if (actionName.equals(\"stop\")) {\n"
+" super.stop();\n"
+" } else if (actionName.equals(\"destroy\")) {\n"
+" super.destroy();\n"
+" } else {\n"
+" throw new JMRuntimeException(\"Invalid state,\n"
+" don't know about op=\"+actionName);\n"
+" }\n"
+" } catch(Exception e) {\n"
+" throw new ReflectionException(e, \"echo failed\");\n"
+" }\n"
+"\n"
+"\n"
+" log.debug(\"End invoke, actionName=\"+actionName);\n"
+" return rtnValue;\n"
+" }\n"
+" \n"
+" // --- End DynamicMBean interface methods\n"
+" \n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1860
@@ -6870,6 +7756,18 @@
" public void destroy();\n"
"}"
msgstr ""
+"public interface EjbMBeanAdaptorMBean\n"
+"{\n"
+" public String getHelloPrefix();\n"
+" public void setHelloPrefix(String prefix);\n"
+" public String getEjbJndiName();\n"
+" public void setEjbJndiName(String jndiName);\n"
+" public String echo(String arg) throws CreateException, NamingException;\n"
+" public void create() throws Exception;\n"
+" public void start() throws Exception;\n"
+" public void stop();\n"
+" public void destroy();\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1867
@@ -6996,24 +7894,36 @@
" </mbean>\n"
"</server>"
msgstr ""
+"<server>\n"
+" <mbean code=\"org.jboss.book.jmx.ex3.EjbMBeanAdaptor\"\n"
+" name=\"jboss.book:service=EjbMBeanAdaptor\">\n"
+" <attribute name=\"HelloPrefix\">AdaptorPrefix</"
+"attribute>\n"
+" <attribute name=\"EjbJndiName\">local/j2ee_chap2.EchoBean</"
+"attribute>\n"
+" <depends>jboss.j2ee:service=EJB,jndiName=local/j2ee_chap2."
+"EchoBean</depends>\n"
+" </mbean>\n"
+"</server>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1892
#, no-c-format
+#, fuzzy
msgid "Deploy the example ear by running:"
-msgstr ""
+msgstr "Deployment der Beispiel-EAR durch ausführenthe example ear by running:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1895
#, no-c-format
msgid "[examples]$ ant -Dchap=jmx -Dex=3 run-example"
-msgstr ""
+msgstr "[examples]$ ant -Dchap=jmx -Dex=3 run-example"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1896
#, no-c-format
msgid "On the server console there will be messages similar to the following:"
-msgstr ""
+msgstr "An der Server-Konsole erscheinen Meldungen ähnlich der folgenden:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1899
@@ -7090,6 +8000,76 @@
"/tmp60550jmx-ex3.ear-contents/jmx-ex3.jar \n"
"14:57:14,075 INFO [EARDeployer] Started J2EE application: ..."
msgstr ""
+"14:57:12,906 INFO [EARDeployer] Init J2EE application: file:/private/tmp/"
+"jboss-eap-4.3/jboss-as/server/\n"
+" production/deploy/j2ee_chap2-ex3.ear\n"
+"14:57:13,044 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,088 INFO [EjbMBeanAdaptor] preRegister notification seen\n"
+"14:57:13,093 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,117 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"... \n"
+"14:57:13,140 WARN [EjbMBeanAdaptor] Unexcepted error accessing MBeanInfo "
+"for null\n"
+"java.lang.NullPointerException\n"
+" at org.jboss.system.ServiceMBeanSupport.postRegister(ServiceMBeanSupport."
+"java:418)\n"
+"...\n"
+"14:57:13,203 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"... \n"
+"14:57:13,232 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,420 INFO [EjbModule] Deploying Chap2EchoInfoBean\n"
+"14:57:13,443 INFO [EjbModule] Deploying chap2.EchoBean\n"
+"14:57:13,488 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,542 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,558 INFO [EjbMBeanAdaptor] Begin invoke, actionName=create\n"
+"14:57:13,560 INFO [EjbMBeanAdaptor] Notified of create state\n"
+"14:57:13,562 INFO [EjbMBeanAdaptor] End invoke, actionName=create\n"
+"14:57:13,604 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"... \n"
+"14:57:13,621 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"14:57:13,641 INFO [EjbMBeanAdaptor] Begin invoke, actionName=getState\n"
+"14:57:13,942 INFO [EjbMBeanAdaptor] Begin invoke, actionName=start\n"
+"14:57:13,944 INFO [EjbMBeanAdaptor] Notified of start state\n"
+"14:57:13,951 INFO [EjbMBeanAdaptor] Testing Echo\n"
+"14:57:13,983 INFO [EchoBean] echo, info=echo info, arg=, arg=startService\n"
+"14:57:13,986 INFO [EjbMBeanAdaptor] echo(startService) = startService\n"
+"14:57:13,988 INFO [EjbMBeanAdaptor] End invoke, actionName=start\n"
+"14:57:13,991 INFO [EJBDeployer] Deployed: file:/tmp/jboss-eap-4.3/jboss-as/"
+"server/production/tmp/deploy\n"
+"/tmp60550jmx-ex3.ear-contents/jmx-ex3.jar \n"
+"14:57:14,075 INFO [EARDeployer] Started J2EE application: ..."
#. Tag: para
#: J2EE_Reference_Introduction.xml:1900
@@ -7119,7 +8099,7 @@
#: J2EE_Reference_Introduction.xml:1907
#, no-c-format
msgid "The EjbMBeanAdaptor MBean operations JMX console view"
-msgstr ""
+msgstr "Die JMX-Konsolenansicht von EjbMBeanAdaptor MBean-Operationen"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1914
@@ -7144,12 +8124,18 @@
"10:51:48,687 INFO [EjbMBeanAdaptor] Result: AdaptorPrefix-echo-arg\n"
"10:51:48,687 INFO [EjbMBeanAdaptor] End invoke, actionName=echo"
msgstr ""
+"10:51:48,671 INFO [EjbMBeanAdaptor] Begin invoke, actionName=echo\n"
+"10:51:48,671 INFO [EjbMBeanAdaptor] Lookup EchoLocalHome at local/j2ee_chap2."
+"EchoBean\n"
+"10:51:48,687 INFO [EchoBean] echo, info=echo info, arg=, arg=-echo-arg\n"
+"10:51:48,687 INFO [EjbMBeanAdaptor] Result: AdaptorPrefix-echo-arg\n"
+"10:51:48,687 INFO [EjbMBeanAdaptor] End invoke, actionName=echo"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1923
-#, fuzzy, no-c-format
+#, no-c-format
msgid "JBoss Deployer Architecture"
-msgstr "Service-Architekturen"
+msgstr "JBoss Deployer-Architektur"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1924
@@ -7344,7 +8330,7 @@
#: J2EE_Reference_Introduction.xml:1999
#, no-c-format
msgid "An illustration of the class loaders involved with an EAR deployment"
-msgstr ""
+msgstr "Eine Abbildung der an einem EAR-Deployment beteiligten Klassenlader"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2006
@@ -7490,6 +8476,22 @@
" Object invoke(Invocation invocation) throws Exception;\n"
"}"
msgstr ""
+"package org.jboss.invocation;\n"
+" \n"
+"import java.rmi.Remote;\n"
+"import org.jboss.proxy.Interceptor;\n"
+"import org.jboss.util.id.GUID;\n"
+" \n"
+" \n"
+"public interface Invoker\n"
+" extends Remote\n"
+"{\n"
+" GUID ID = new GUID();\n"
+"\n"
+" String getServerHostName() throws Exception;\n"
+"\n"
+" Object invoke(Invocation invocation) throws Exception;\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2042
@@ -7577,6 +8579,9 @@
"Define a JMX operation matching the signature: <literal>public Object invoke"
"(org.jboss.invocation.Invocation) throws Exception</literal>"
msgstr ""
+"Definieren einer mit der Signatur übereinstimmenden JMX-Operation: "
+"<literal>public Object invoke"
+"(org.jboss.invocation.Invocation) throws Exception</literal>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2083
@@ -7630,7 +8635,7 @@
#: J2EE_Reference_Introduction.xml:2101
#, no-c-format
msgid "The InvokerAdaptorService MBean"
-msgstr ""
+msgstr "Das InvokerAdaptorService MBean"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2102
@@ -7779,6 +8784,148 @@
" }\n"
"}"
msgstr ""
+"package org.jboss.jmx.connector.invoker;\n"
+"public interface InvokerAdaptorServiceMBean\n"
+" extends org.jboss.system.ServiceMBean\n"
+"{\n"
+" Class getExportedInterface();\n"
+" void setExportedInterface(Class exportedInterface);\n"
+"\n"
+" Object invoke(org.jboss.invocation.Invocation invocation)\n"
+" throws Exception;\n"
+"}\n"
+"\n"
+"package org.jboss.jmx.connector.invoker;\n"
+"\n"
+"import java.lang.reflect.InvocationTargetException;\n"
+"import java.lang.reflect.Method;\n"
+"import java.lang.reflect.UndeclaredThrowableException;\n"
+"import java.util.Collections;\n"
+"import java.util.HashMap;\n"
+"import java.util.Map;\n"
+"\n"
+"import javax.management.MBeanServer;\n"
+"import javax.management.ObjectName;\n"
+"\n"
+"import org.jboss.invocation.Invocation;\n"
+"import org.jboss.invocation.MarshalledInvocation;\n"
+"import org.jboss.mx.server.ServerConstants;\n"
+"import org.jboss.system.ServiceMBeanSupport;\n"
+"import org.jboss.system.Registry;\n"
+"\n"
+"public class InvokerAdaptorService\n"
+" extends ServiceMBeanSupport\n"
+" implements InvokerAdaptorServiceMBean, ServerConstants\n"
+"{\n"
+" private static ObjectName mbeanRegistry;\n"
+" \n"
+" static {\n"
+" try {\n"
+" mbeanRegistry = new ObjectName(MBEAN_REGISTRY);\n"
+" } catch (Exception e) {\n"
+" throw new RuntimeException(e.toString());\n"
+" }\n"
+" }\n"
+"\n"
+" private Map marshalledInvocationMapping = new HashMap();\n"
+" private Class exportedInterface;\n"
+"\n"
+" public Class getExportedInterface()\n"
+" {\n"
+" return exportedInterface;\n"
+" }\n"
+"\n"
+" public void setExportedInterface(Class exportedInterface)\n"
+" {\n"
+" this.exportedInterface = exportedInterface;\n"
+" }\n"
+"\n"
+" protected void startService()\n"
+" throws Exception\n"
+" {\n"
+" // Build the interface method map\n"
+" Method[] methods = exportedInterface.getMethods();\n"
+" HashMap tmpMap = new HashMap(methods.length);\n"
+" for (int m = 0; m < methods.length; m ++) {\n"
+" Method method = methods[m];\n"
+" Long hash = new Long(MarshalledInvocation.calculateHash"
+"(method));\n"
+" tmpMap.put(hash, method);\n"
+" }\n"
+"\n"
+" marshalledInvocationMapping = Collections.unmodifiableMap(tmpMap);\n"
+" // Place our ObjectName hash into the Registry so invokers can\n"
+" // resolve it\n"
+" Registry.bind(new Integer(serviceName.hashCode()), serviceName);\n"
+" }\n"
+"\n"
+" protected void stopService()\n"
+" throws Exception\n"
+" {\n"
+" Registry.unbind(new Integer(serviceName.hashCode()));\n"
+" }\n"
+"\n"
+"\n"
+" public Object invoke(Invocation invocation)\n"
+" throws Exception\n"
+" {\n"
+" // Make sure we have the correct classloader before unmarshalling\n"
+" Thread thread = Thread.currentThread();\n"
+" ClassLoader oldCL = thread.getContextClassLoader();\n"
+"\n"
+" // Get the MBean this operation applies to\n"
+" ClassLoader newCL = null;\n"
+" ObjectName objectName = (ObjectName) \n"
+" invocation.getValue(\"JMX_OBJECT_NAME\");\n"
+" if (objectName != null) {\n"
+" // Obtain the ClassLoader associated with the MBean deployment\n"
+" newCL = (ClassLoader) \n"
+" server.invoke(mbeanRegistry, \"getValue\",\n"
+" new Object[] { objectName, CLASSLOADER },\n"
+" new String[] { ObjectName.class.getName(),\n"
+" \"java.lang.String\" });\n"
+" }\n"
+" \n"
+" if (newCL != null && newCL != oldCL) {\n"
+" thread.setContextClassLoader(newCL);\n"
+" }\n"
+"\n"
+" try {\n"
+" // Set the method hash to Method mapping\n"
+" if (invocation instanceof MarshalledInvocation) {\n"
+" MarshalledInvocation mi = (MarshalledInvocation) "
+"invocation;\n"
+" mi.setMethodMap(marshalledInvocationMapping);\n"
+" }\n"
+"\n"
+" // Invoke the MBeanServer method via reflection\n"
+" Method method = invocation.getMethod();\n"
+" Object[] args = invocation.getArguments();\n"
+" Object value = null;\n"
+" try {\n"
+" String name = method.getName();\n"
+" Class[] sig = method.getParameterTypes();\n"
+" Method mbeanServerMethod =\n"
+" MBeanServer.class.getMethod(name, sig);\n"
+" value = mbeanServerMethod.invoke(server, args);\n"
+" } catch(InvocationTargetException e) {\n"
+" Throwable t = e.getTargetException();\n"
+" if (t instanceof Exception) {\n"
+" throw (Exception) t;\n"
+" } else {\n"
+" throw new UndeclaredThrowableException(t, method.toString"
+"());\n"
+" }\n"
+" }\n"
+"\n"
+" return value;\n"
+" } finally {\n"
+" if (newCL != null && newCL != oldCL) {\n"
+" thread.setContextClassLoader(oldCL);\n"
+" }\n"
+" }\n"
+" }\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2103
@@ -7893,7 +9040,7 @@
msgid ""
"Line 126 is the return of the successful MBeanServer method invocation "
"result."
-msgstr ""
+msgstr "Zeile 126 zeigt das Ergebnis des erfolgreichen MBeanServer Methodenaufrufs."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2130
@@ -7929,6 +9076,8 @@
"The default jmx-invoker-adaptor-server.sar jboss-service.xml deployment "
"descriptor"
msgstr ""
+"Der standardmäßige jmx-invoker-adaptor-server.sar jboss-service.xml "
+"Deployment-Deskriptor"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2137
@@ -7979,6 +9128,50 @@
" </mbean>\n"
"</server>"
msgstr ""
+"<server>\n"
+" <!-- The JRMP invoker proxy configuration for the "
+"InvokerAdaptorService -->\n"
+" <mbean code=\"org.jboss.invocation.jrmp.server.JRMPProxyFactory\"\n"
+" name=\"jboss.jmx:type=adaptor,name=Invoker,protocol=jrmp,"
+"service=proxyFactory\">\n"
+" <!-- Use the standard JRMPInvoker from conf/jboss-service.xml --"
+">\n"
+" <attribute name=\"InvokerName\">jboss:service=invoker,"
+"type=jrmp</attribute>\n"
+" <!-- The target MBean is the InvokerAdaptorService configured "
+"below -->\n"
+" <attribute name=\"TargetName\">jboss.jmx:type=adaptor,"
+"name=Invoker</attribute>\n"
+" <!-- Where to bind the RMIAdaptor proxy -->\n"
+" <attribute name=\"JndiName\">jmx/invoker/RMIAdaptor</"
+"attribute>\n"
+" <!-- The RMI compabitle MBeanServer interface -->\n"
+" <attribute name=\"ExportedInterface\">org.jboss.jmx.adaptor."
+"rmi.RMIAdaptor</attribute>\n"
+" <attribute name=\"ClientInterceptors\">\n"
+" <iterceptors>\n"
+" <interceptor>org.jboss.proxy."
+"ClientMethodInterceptor</interceptor>\n"
+" <interceptor>\n"
+" org.jboss.jmx.connector.invoker.client."
+"InvokerAdaptorClientInterceptor \n"
+" </interceptor>\n"
+" <interceptor>org.jboss.invocation."
+"InvokerInterceptor</interceptor>\n"
+" </iterceptors>\n"
+" </attribute>\n"
+" <depends>jboss:service=invoker,type=jrmp</depends>\n"
+" </mbean> \n"
+" <!-- This is the service that handles the RMIAdaptor invocations by "
+"routing\n"
+" them to the MBeanServer the service is deployed under. -->\n"
+" <mbean code=\"org.jboss.jmx.connector.invoker.InvokerAdaptorService"
+"\" \n"
+" name=\"jboss.jmx:type=adaptor,name=Invoker\">\n"
+" <attribute name=\"ExportedInterface\">org.jboss.jmx.adaptor."
+"rmi.RMIAdaptor</attribute>\n"
+" </mbean>\n"
+"</server>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2138
@@ -8027,7 +9220,7 @@
#: J2EE_Reference_Introduction.xml:2149
#, no-c-format
msgid "The JRMPInvoker - RMI/JRMP Transport"
-msgstr ""
+msgstr "Der JRMPInvoker - RMI/JRMP Transport"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2150
@@ -8047,6 +9240,8 @@
"The JRMPInvoker MBean supports a number of attribute to configure the RMI/"
"JRMP transport layer. Its configurable attributes are:"
msgstr ""
+"Das JRMPInvoker MBean unterstützt eine Reihe von Attributen zur Konfiguration der "
+"RMI/JRMP-Transportebene. Seine konfigurierbaren Attribute sind:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2158
@@ -8120,7 +9315,7 @@
#: J2EE_Reference_Introduction.xml:2186
#, no-c-format
msgid "The PooledInvoker - RMI/Socket Transport"
-msgstr ""
+msgstr "Der PooledInvoker - RMI/Socket Transport"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2187
@@ -8145,37 +9340,35 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2195
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">NumAcceptThreads</emphasis>: The number of threads "
"that exist for accepting client connections. The default is 1."
msgstr ""
-"<emphasis role=\"bold\">LockAcquisitionTimeout</emphasis> bestimmt die "
-"maximale Anzahl von Millisekunden, die auf eine \"Lock Acquisition\" "
-"gewartet wird. Der voreinstellte Wert lautet hier 15000."
+"<emphasis role=\"bold\">NumAcceptThreads</emphasis>: Die Anzahl vorhandener "
+"Threads zur Annahme von Client-Verbindungen. Der Standardwert lautet 1."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2200
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">MaxPoolSize</emphasis>: The number of server threads "
"for processing client. The default is 300."
msgstr ""
-"<emphasis role=\"bold\">cookies</emphasis>: Hierbei handelt es sich um ein "
-"Flag das anzeigt, ob Sessions unter Verwendung von Cookies verfolgt werden. "
-"Die Standardeinstellung lautet \"true\"."
+"<emphasis role=\"bold\">MaxPoolSize</emphasis>: Die Anzahl von Server-Threads "
+"für den Bearbeitungs-Client. Der Standardwert lautet 300."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2205
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">SocketTimeout</emphasis>: The socket timeout value "
"passed to the <literal>Socket.setSoTimeout()</literal> method. The default "
"is 60000."
msgstr ""
-"<emphasis role=\"bold\">scheme</emphasis>: Legt den Namen des Protokolls "
-"fest wie mittels der <literal>ServletRequest.getScheme</literal> Methode "
-"zugegriffen wird. Die Standardeinstellung lautet <literal>http</literal>."
+"<emphasis role=\"bold\">SocketTimeout</emphasis>: Legt den Timeout-Wert des "
+"Socket fest, der an die <literal>Socket.setSoTimeout()</literal>-Methode gegeben wird. "
+"Der Standardwert lautet 60000."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2210
@@ -8185,6 +9378,9 @@
"server socket. A value of 0 indicates that an anonymous port should be "
"chosen."
msgstr ""
+"<emphasis role=\"bold\">ServerBindPort</emphasis>: Der für das "
+"Server-Socket verwendete Port. Ein Wert von 0 gibt an, dass ein "
+"anonymer Port gewählt werden sollte."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2215
@@ -8210,13 +9406,13 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2225
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">ClientMaxPoolSize</emphasis>: The client side "
"maximum number of threads. The default is 300."
msgstr ""
-"<emphasis role=\"bold\">num_initial_members</emphasis> legt die maximale "
-"Anzahl von Rückmeldungen fest, auf die gewartet wird."
+"<emphasis role=\"bold\">ClientMaxPoolSize</emphasis>: Die maximale Anzahl "
+"von Threads auf Client-Seite. Der Standardwert beträgt 300."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2230
@@ -8252,19 +9448,19 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2245
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">TransactionManagerService</emphasis>: The JMX "
"ObjectName of the JTA transaction manager service."
msgstr ""
-"<emphasis role=\"bold\">className</emphasis>: Der Name der Klasse, die die "
-"Implementierung des Dienstes liefert."
+"<emphasis role=\"bold\">TransactionManagerService</emphasis>: Der JMX "
+"ObjectName des JTA Transaction Manager Dienstes."
#. Tag: title
#: J2EE_Reference_Introduction.xml:2253
#, no-c-format
msgid "The IIOPInvoker - RMI/IIOP Transport"
-msgstr ""
+msgstr "Der IIOPInvoker - RMI/IIOP Transport"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2254
@@ -8311,9 +9507,9 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2267
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The JRMPProxyFactory supports the following attributes:"
-msgstr "Das <literal>run</literal>-Skript unterstützt die folgenden Optionen:"
+msgstr "Die JRMPProxyFactory unterstützt die folgenden Attribute:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2272
@@ -8335,25 +9531,25 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2282
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">JndiName</emphasis>: The JNDI name under which the "
"proxy will be bound."
msgstr ""
-"<emphasis role=\"bold\">name</emphasis>: Ein eindeutiger Name, unter dem der "
-"Dienst bekannt ist."
+"<emphasis role=\"bold\">JndiName</emphasis>: Der JNDI-Name unter dem der "
+"Proxy gebunden wird."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2287
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">ExportedInterface</emphasis>: The fully qualified "
"class name of the interface that the proxy implements. This is the typed "
"view of the proxy that the client uses for invocations."
msgstr ""
-"<emphasis role=\"bold\">className</emphasis>: Dies ist der "
-"vollständigeKlassenname der <literal>org.apache.catalina.Valve</literal> "
-"Interface-Implementierung."
+"<emphasis role=\"bold\">ExportedInterface</emphasis>: Dies ist der "
+"vollständige Klassenname des vom Proxy implementierten Interface. "
+"Dies ist die typisierte Ansicht des Proxy, den der Client für Aufrufe verwendet."
#. Tag: para
#: J2EE_Reference_Introduction.xml:2292
@@ -8371,7 +9567,7 @@
#: J2EE_Reference_Introduction.xml:2300
#, no-c-format
msgid "The HttpInvoker - RMI/HTTP Transport"
-msgstr ""
+msgstr "Der HttpInvoker - RMI/HTTP Transport"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2301
@@ -8397,9 +9593,9 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2304
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The HttpInvoker supports the following attributes:"
-msgstr "Das <literal>run</literal>-Skript unterstützt die folgenden Optionen:"
+msgstr "The HttpInvoker unterstützt die folgenden Attribute:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2309 J2EE_Reference_Introduction.xml:2377
@@ -8513,7 +9709,7 @@
#: J2EE_Reference_Introduction.xml:2358
#, no-c-format
msgid "HttpProxyFactory - Building Dynamic HTTP Proxies"
-msgstr ""
+msgstr "HttpProxyFactory - Building Dynamic HTTP Proxies"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2359
@@ -8527,9 +9723,9 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2362
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The HttpProxyFactory supports the following attributes:"
-msgstr "Das <literal>run</literal>-Skript unterstützt die folgenden Optionen:"
+msgstr "Die HttpProxyFactory unterstützt die folgenden Attribute:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2367
@@ -8567,13 +9763,14 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2397
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">ExportedInterface</emphasis>: The name of the RMI "
"compatible interface that the <literal>HttpInvokerProxy</literal> implements."
msgstr ""
-"<emphasis role=\"bold\">className</emphasis>: Der Name der Klasse, die die "
-"Implementierung des Dienstes liefert."
+"<emphasis role=\"bold\">ExportedInterface</emphasis>: Der Name des "
+"RMI-kompatiblen Interface, das der <literal>HttpInvokerProxy</literal> "
+"implementiert."
#. Tag: title
#: J2EE_Reference_Introduction.xml:2405
@@ -8597,7 +9794,7 @@
#: J2EE_Reference_Introduction.xml:2409
#, no-c-format
msgid "The three steps to making your object invocable via HTTP are:"
-msgstr ""
+msgstr "Die drei Schritte, um Ihr Objekt via HTTP aufrufbar zu machen, sind:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2414
@@ -8627,6 +9824,19 @@
" marshalledInvocationMapping.put(hash, method);\n"
"}"
msgstr ""
+"import java.lang.reflect.Method;\n"
+"import java.util.HashMap;\n"
+"import org.jboss.invocation.MarshalledInvocation;\n"
+"\n"
+"HashMap marshalledInvocationMapping = new HashMap();\n"
+"\n"
+"// Build the Naming interface method map\n"
+"Method[] methods = SRPRemoteServerInterface.class.getMethods();\n"
+"for(int m = 0; m < methods.length; m ++) {\n"
+" Method method = methods[m];\n"
+" Long hash = new Long(MarshalledInvocation.calculateHash(method));\n"
+" marshalledInvocationMapping.put(hash, method);\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2420
@@ -8641,6 +9851,14 @@
"<literal>MarshalledInvocation</literal> to the <literal>Method</literal> for "
"the interface."
msgstr ""
+"Erstellen Sie ein MBean oder erweitern Sie ein bestehendes, um einen Aufrufvorgang "
+"zu unterstützen. Die Signatur ist <literal>Object invoke(Invocation invocation) throws "
+"Exception</literal> und die ausgeführten Schritte werden hier für das "
+"<literal>SRPRemoteServerInterface</literal>-Interface gezeigt. Beachten Sie, dass"
+"dies das <literal>marshalledInvocationMapping</literal> aus Schritt 1 zum mappen "
+"der <literal>Long</literal>-Methoden-Hashes in die "
+"<literal>MarshalledInvocation</literal> zur <literal>Method</literal> für "
+"das Interface verwendet."
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2424
@@ -8678,6 +9896,37 @@
" return value;\n"
"}"
msgstr ""
+"import org.jboss.invocation.Invocation;\n"
+"import org.jboss.invocation.MarshalledInvocation;\n"
+"\n"
+"public Object invoke(Invocation invocation)\n"
+" throws Exception\n"
+"{\n"
+" SRPRemoteServerInterface theServer = <"
+"the_actual_rmi_server_object>;\n"
+" // Set the method hash to Method mapping\n"
+" if (invocation instanceof MarshalledInvocation) {\n"
+" MarshalledInvocation mi = (MarshalledInvocation) invocation;\n"
+" mi.setMethodMap(marshalledInvocationMapping);\n"
+" }\n"
+"\n"
+" // Invoke the Naming method via reflection\n"
+" Method method = invocation.getMethod();\n"
+" Object[] args = invocation.getArguments();\n"
+" Object value = null;\n"
+" try {\n"
+" value = method.invoke(theServer, args);\n"
+" } catch(InvocationTargetException e) {\n"
+" Throwable t = e.getTargetException(); \n"
+" if (t instanceof Exception) {\n"
+" throw (Exception) e;\n"
+" } else {\n"
+" throw new UndeclaredThrowableException(t, method.toString());\n"
+" }\n"
+" }\n"
+"\n"
+" return value;\n"
+"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2428
@@ -8686,6 +9935,8 @@
"Create a configuration of the <literal>HttpProxyFactory</literal> MBean to "
"make the RMI/HTTP proxy available through JNDI. For example:"
msgstr ""
+"Erstellen einer Konfiguration des <literal>HttpProxyFactory</literal>-MBeans, um "
+"den RMI/HTTP-Proxy durch JNDI verfügbar zu machen. Zum Beispiel:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2431
@@ -8705,6 +9956,19 @@
"attribute>\n"
"</mbean>"
msgstr ""
+"<!-- Expose the SRP service interface via HTTP -->\n"
+"<mbean code=\"org.jboss.invocation.http.server.HttpProxyFactory\"\n"
+" name=\"jboss.security.tests:service=SRP/HTTP\">\n"
+" <attribute name=\"InvokerURL\">http://localhost:8080/invoker/"
+"JMXInvokerServlet</attribute>\n"
+" <attribute name=\"InvokerName\">jboss.security.tests:"
+"service=SRPService</attribute>\n"
+" <attribute name=\"ExportedInterface\">\n"
+" org.jboss.security.srp.SRPRemoteServerInterface\n"
+" </attribute>\n"
+" <attribute name=\"JndiName\">srp-test-http/SRPServerInterface</"
+"attribute>\n"
+"</mbean>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2434
@@ -8715,4 +9979,8 @@
"test-http/SRPServerInterface</literal>) and use the obtain proxy in exactly "
"the same manner as the RMI/JRMP version."
msgstr ""
+"Jeder Client kann jetzt mittels JNDI das RMI-Interface auffinden, indem der in der "
+"<literal>HttpProxyFactory</literal> festgelegte Name verwendet wird (z.B. <literal>srp-"
+"test-http/SRPServerInterface</literal>) und den erhaltenen Proxy auf genau "
+"dieselbe Weise wie die RMI/JRMP-Version verwendet."
More information about the jboss-cvs-commits
mailing list