[jboss-cvs] JBossAS SVN: r83772 - in projects/ejb3/trunk/docs/tutorial/guide/en: modules and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 2 05:47:55 EST 2009


Author: jaikiran
Date: 2009-02-02 05:47:55 -0500 (Mon, 02 Feb 2009)
New Revision: 83772

Added:
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml
Modified:
   projects/ejb3/trunk/docs/tutorial/guide/en/master.xml
   projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml
Log:
Guide updated with more tutorials

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/master.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/master.xml	2009-02-02 10:46:50 UTC (rev 83771)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/master.xml	2009-02-02 10:47:55 UTC (rev 83772)
@@ -37,6 +37,8 @@
 <!ENTITY hibernate          SYSTEM "modules/hibernate.xml">
 <!ENTITY asynch          SYSTEM "modules/asynch.xml">
 <!ENTITY ssl          SYSTEM "modules/ssl.xml">
+<!ENTITY partial_deployment_descriptor          SYSTEM "modules/partial_deployment_descriptor.xml">
+<!ENTITY consumer          SYSTEM "modules/consumer.xml">
 <!ENTITY todo          SYSTEM "modules/todo.xml">
 ]>
 <book lang="en">
@@ -53,6 +55,9 @@
   </preface>
 &installing;&stateless;&stateful;&blob;&cachedentity;&callbacks;&composite;&dependency;&ejb21_client_adaptors;&embeddable;&enterprise_app_ejb_injection;&entity;&extended_pc;&injection;&interceptor;&jboss_deployment_descriptor;&jca_inflow_quartz;&jndibinding;&joininheritance;&mdb;&mdb_deployment_descriptor;&merge;&reference21_30;&relationships;&resource_ref;&secondary;&security;&service;&service_deployment_descriptor;&singleinheritance;
 &stateful_deployment_descriptor;&stateless_deployment_descriptor;&tableperinheritance;&timer;
-&hibernate;&asynch;&todo;
+&hibernate;&asynch;
+&partial_deployment_descriptor;
+&consumer;
+&todo;
 
 </book>

Added: projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml	                        (rev 0)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/consumer.xml	2009-02-02 10:47:55 UTC (rev 83772)
@@ -0,0 +1,248 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="Consumer_and_Producer">
+	<title>Message Driven POJOs (JBoss specific)</title>
+	<para>
+		The idea of Message Driven POJOs is to give a message consumer (an MDB), a typed interface 
+		that message producers can send messages through.  Both the publisher and subscriber would be typed interfaces.
+		This further facilitates the removal of all the lookups and bootstrap code you have to do to obtain 
+		and send a message and receive and dispatch a JMS message. With regular JMS you have to :
+		<itemizedlist>
+			<listitem>Get a connectionfactory</listitem>
+			<listitem>Get a connection</listitem>
+			<listitem>Get a destination</listitem>
+			<listitem>... and so on</listitem>
+		</itemizedlist>
+		For the Message Driven POJOs, you just do:
+		<itemizedlist>
+			<listitem>Get a producer</listitem>
+			<listitem>Invoke on producer</listitem>
+		</itemizedlist>
+	</para>
+	
+	<sect5>
+		Model :
+		<para>
+			Message Driven POJOs will have the same model as Stateless/Stateful beans. There is a bean class tagged as 
+			<literal>@org.jboss.ejb3.annotation.Consumer</literal> that must implement one or more <literal>@org.jboss.ejb3.annotation.Producer</literal> interfaces. Just
+			as a stateless bean is tagged as <literal>@Stateless</literal> and implements one or more 
+			<literal>@Remote</literal> or <literal>@Local</literal> interfaces. Take a look at <literal>org.jboss.tutorial.consumer.bean.ExampleConsumerBean</literal>
+			
+			<programlisting>
+				<![CDATA[
+ at Consumer(activationConfig =
+{@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
+      @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/tutorial/example")})
+ at Depends ("jboss.messaging.destination:service=Queue,name=tutorial")      
+public class ExampleConsumerBean implements ExampleProducerRemote, ExampleProducerLocal, ExampleProducerXA
+{
+...				
+   public void method1(String msg, int val)
+   {
+      System.out.println("method1(" + msg + ", " + val + ")");
+   }
+
+   public void method2(String msg, Map<String, String> map)
+   {
+      System.out.println("method2: " + msg);
+      for (String key : map.keySet())
+      {
+         System.out.println("method2 key/val: " + key + ":" + map.get(key));
+      }
+   }				
+				]]>
+			</programlisting>
+			Here's one of the @Producer interfaces :
+			<programlisting>
+				<![CDATA[
+ at Producer
+public interface ExampleProducerRemote extends ExampleProducer
+{
+...			
+				]]>
+			</programlisting>
+			You can see in this example that the <literal>ExampleConsumerBean</literal> implements the @Producer interfaces and defines
+			the methods which can receive JMS messages. These interfaces will be used by clients(JMS Publishers) to send messages to the 
+			consumer via JMS.
+			<note>
+				<para>
+					For each <literal>@Producer</literal> interface the <literal>@Consumer</literal> implements, there 
+					will be a proxy that implements that <literal>@Producer</literal> registered in JNDI under the fully qualified name of 
+					that <literal>@Producer</literal> interface.
+				</para>
+			</note>
+			Let's now look at the client <literal>org.jboss.tutorial.consumer.client.Client</literal>
+			<programlisting>
+				<![CDATA[
+public static void main(String[] args) throws Exception
+   {
+      InitialContext ctx = new InitialContext();
+      ExampleProducerRemote remote = (ExampleProducerRemote) ctx.lookup(ExampleProducerRemote.class.getName());
+
+      // you can typecast the returned proxy to obtain a ProducerManager interface that allows you to manage
+      // interaction with JMS.
+      ProducerManager manager = ((ProducerObject) remote).getProducerManager();
+
+
+      // connect - internally creates a JMS connection
+      manager.connect();
+
+      try
+      {
+         // Call method1
+         remote.method1("Remote method1 called", 1);
+         System.out.println("Remote method1 called");
+         
+         // Call method2
+         Map<String, String> map = new HashMap<String, String>();
+         map.put("hello", "world");
+         map.put("great", "ejb3");
+
+         remote.method2("Remote method2 called", map);
+         System.out.println("Remote method2 called");
+      }
+      finally
+      {
+         // instead of typecasting, you can use a helper class that does everything for you.
+         ProducerConfig.close(remote);
+      }				
+				]]>
+			</programlisting>
+			When the <literal>@Consumer</literal> is deployed by the EJB3 container, it looks for all of its <literal>@Producer</literal> interfaces 
+			and registers each one of them in JNDI under their fully qualified class name.  
+			The client looks up the <literal>ExampleProducerRemote</literal> from the JNDI and uses the returned proxy to send the message.
+			The returned proxy can be cast to <literal>org.jboss.ejb3.mdb.ProducerObject</literal>. It then gets a <literal>org.jboss.ejb3.mdb.ProducerManager</literal>,
+			that manages the JMS connection for this proxy. To start being able to send messages to the Queue, the client calls <literal>connect</literal> on the
+			<literal>ProducerManager</literal>. When the client calls <literal>method1()</literal> on the proxy, this method call is converted
+			into a JMS message and published to the Queue of the Consumer. The consumer will receive the message and invoke its <literal>method1</literal> method.
+		</para>
+	</sect5>
+	
+	<sect5>
+		Producer default values :
+		<para>
+			The proxy registered in JNDI will know how to contact the JMS Queue/Topic to publish messages. You can specify explicitly through 
+			the <literal>connectionFactory</literal> attribute of the <literal>@Producer</literal>annotation what the JMS ConnectionFactory 
+			JNDI name is, or you can rely on defaults.
+
+			<note>
+				<para>
+					The default value for the ConnectionFactory JNDI name is "ConnectionFactory". If you additionally tag the producer as @ProducerLocal instead of @Producer, 
+					then "java:/ConnectionFactory" will be used. 				
+				</para>
+			</note>
+		</para>
+	</sect5>
+
+	<sect5>
+		@ProducerLocal :
+		<para>
+			If you tag a producer as @ProducerLocal, the proxy will lookup the connection factory via the default InitialContext 
+			when connect() is called. Otherwise, the ConnectFactory reference will be embedded directly within the proxy.
+			
+		</para>
+	</sect5>	
+	
+	<sect5>
+		@MessageProperties :
+		<para>
+			The methods defined in a Producer are turned into JMS messages. The default message properties are a Time To Live of 0, a 
+			Priority of 4, and a delivery mode of PERSISTENT. You can override these default values in a couple of ways.
+			<itemizedlist>
+				<listitem>
+					You can use the @MessageProperties anntotation and tag the Producer class directly to override the values:
+					<programlisting>
+						<![CDATA[
+ at Producer
+ at MessageProperties(delivery=DeliveryMode.NON_PERSISTENT, timeToLive=1000, priority=1)
+public interface ExampleProducer
+{
+... 						
+						]]>
+					</programlisting>
+					In this configuration, all method calls on ExampleProducer will use the JMS message properties defined with the
+					<literal>@MessageProperties</literal> annotation on the interface.
+					
+				</listitem>
+				
+				<listitem>
+					You can specify @MessageProperties on a per method basis :
+					<programlisting>
+						<![CDATA[
+public interface ExampleProducer
+{
+   void method1(String msg, int val);
+
+   @MessageProperties(delivery = DeliveryMode.NON_PERSISTENT)
+   void method2(String msg, Map<String, String> map);
+}						
+						]]>
+					</programlisting>
+					So, in the above example, <literal>method1()</literal> uses the default message properties, and 
+					<literal>method2()</literal> overrides the defaults via the <literal>@MessageProperties</literal> annotation attached to it.
+					
+				</listitem>
+				
+			</itemizedlist>
+			
+		</para>
+	</sect5>
+	
+	<sect5>
+		Obtaining the current message :
+		<para>
+			Sometimes you may need to access the real JMS message. Maybe you need to obtain the replyTo destination or set an 
+			acknowledgement or something. You can obtain it by using the <literal>@org.jboss.ejb3.annotation.CurrentMessage</literal> annotation.
+			<programlisting>
+				<![CDATA[
+ at CurrentMessage
+private Message currentMessage;
+				
+				
+				]]>
+			</programlisting>
+			This annotation will inject the current JMS message into your Consumer bean before your target method is invoked.
+		</para>
+	</sect5>
+	
+	<sect5>
+	
+Building and Running
+	<para>
+			<note>
+					<para>
+						To build and run the example, make sure you have installed JBoss 5.x. 
+						See the <xref linkend="JBossAS5">installation section</xref> for details.
+					</para>
+			</note>
+			From the command prompt, move to the "consumer" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			<sect5>
+		Ant Users:
+			</sect5>
+				<para>
+				Make sure your JBossAS-5.x is running
+				</para>
+			<programlisting>
+			<![CDATA[
+$ ant
+$ ant run
+
+run:
+     [java] Remote method1 called
+     [java] Remote method2 called
+     		     
+		     ]]>
+			</programlisting>
+		
+			<sect5>
+		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+			</sect5>
+			
+			<programlisting>
+$ mvn clean install
+			</programlisting>
+							
+		</para>
+	</sect5>
+		
+	
+</chapter>

Added: projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml	                        (rev 0)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml	2009-02-02 10:47:55 UTC (rev 83772)
@@ -0,0 +1,322 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="Partial_deployment_descriptor">
+
+   <title>Partial Deployment Descriptors</title>
+
+   <para>
+      EJB 3.0 allows for partial deployment descriptors to augment or override the behavior of source code annotations. This tutorial describes
+      the use of partial deployment descriptors.
+   </para>
+   <sect5>
+      Overview :
+		<para>
+	 		Beans in EJB 3.0 can be specified via source code annotations and/or a deployment descriptor. The deployment descriptor is used to
+	 		augment or override the source code annotations. There are some limitations on which annotations may be overridden, however. 
+	 		The annotations that specify the bean itself (e.g. <literal>@Stateless</literal>, <literal>@Stateful</literal>, 
+	 		<literal>@MessageDriven</literal>, <literal>@Service</literal>,  <literal>@Consumer</literal>) cannot be overridden.
+	 		The EJB 3.0 <literal>ejb-jar.xml</literal> deployment descriptor xsd specifies the majority of tags as optional in order to 
+	 		support annotation augmentation and overrides. The deployment descriptor does not need to specify all of the required information,
+	 		just that additional information to override or augment the source code annotations.
+      </para>
+   </sect5>
+   <sect5>
+      Example :
+      	<para>
+         	This section contains examples of complete and partial deployment descriptors for completely specifying or overriding
+         	specific behaviors of EJBs.
+      	</para>
+      	<sect5>  
+         	Complete deployment descriptor :
+         	<para>
+            	Take a look at the <literal>META-INF/ejb-jar.xml</literal>. The ejb-jar.xml in this tutorial configures the <literal>CompleteXMLDD</literal> 
+            	bean only through the deployment descriptor. The <literal>PartialXMLDD</literal> bean is configured through the deployment descriptor
+            	as well as through annotations.
+				<programlisting>
+					<![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
+        version="3.0">
+	<description>Partial deployment descriptors for EJB in JBoss</description>
+   	<display-name>Partial deployment descriptors</display-name>
+   	<enterprise-beans>
+      <session>
+         <ejb-name>CompleteXMLDD</ejb-name>
+         <business-remote>org.jboss.tutorial.partial_deployment_descriptor.bean.CompleteXMLDD</business-remote>
+         <ejb-class>org.jboss.tutorial.partial_deployment_descriptor.bean.CompleteXMLDDBean</ejb-class>
+         <session-type>Stateless</session-type>
+         <transaction-type>Container</transaction-type>
+         <ejb-ref>
+            <ejb-ref-name>ejb/PartialXMLDD</ejb-ref-name>
+            <ejb-ref-type>Session</ejb-ref-type>
+            <mapped-name>PartialXMLDD/remote</mapped-name>
+            <injection-target>
+             	<injection-target-class>org.jboss.tutorial.partial_deployment_descriptor.bean.CompleteXMLDDBean</injection-target-class>
+             	<injection-target-name>partialXMLDDBean</injection-target-name>
+             </injection-target>
+         </ejb-ref>
+         <resource-ref>
+             <res-ref-name>TimerService</res-ref-name>
+             <res-type>javax.ejb.TimerService</res-type>
+             <res-auth>Container</res-auth>
+             <res-sharing-scope>Shareable</res-sharing-scope>
+             <injection-target>
+             	<injection-target-class>org.jboss.tutorial.partial_deployment_descriptor.bean.CompleteXMLDDBean</injection-target-class>
+             	<injection-target-name>timerService</injection-target-name>
+             </injection-target>
+         </resource-ref>
+         <post-construct>
+         	<lifecycle-callback-class>org.jboss.tutorial.partial_deployment_descriptor.bean.ExternalCallbackListener</lifecycle-callback-class>
+         	<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+         </post-construct>
+         
+         <security-identity>
+            <run-as>
+               <role-name>admin</role-name>
+            </run-as>
+         </security-identity>
+      </session>
+      <session>
+         <ejb-name>PartialXMLDD</ejb-name>
+         <business-remote>org.jboss.tutorial.partial_deployment_descriptor.bean.PartialXMLDD</business-remote>
+         <ejb-class>org.jboss.tutorial.partial_deployment_descriptor.bean.PartialXMLDDBean</ejb-class>
+         <session-type>Stateful</session-type>
+         <init-method>
+         	<create-method>
+         		<method-name>create</method-name>
+         	</create-method>
+         	<bean-method>
+         		<method-name>init</method-name>
+         	</bean-method>
+         </init-method>
+         <remove-method>
+         	<bean-method>
+         		<method-name>remove</method-name>
+         	</bean-method>
+         </remove-method>
+         <transaction-type>Container</transaction-type>
+         
+         <env-entry>
+            <env-entry-name>id</env-entry-name>
+            <env-entry-type>java.lang.String</env-entry-type>
+            <env-entry-value>5678</env-entry-value>
+         </env-entry>
+         <resource-ref>
+            <res-ref-name>DefaultDS</res-ref-name>
+            <res-type>javax.sql.DataSource</res-type>
+            <res-auth>Container</res-auth>
+            <res-sharing-scope>Shareable</res-sharing-scope>
+            <injection-target>
+            	<injection-target-class>org.jboss.tutorial.partial_deployment_descriptor.bean.PartialXMLDDBean</injection-target-class>
+            	<injection-target-name>ds</injection-target-name>
+            </injection-target>
+         </resource-ref>
+      </session>
+   </enterprise-beans>
+   <interceptors>
+   	<interceptor>
+   		<interceptor-class>org.jboss.tutorial.partial_deployment_descriptor.bean.FirstInterceptor</interceptor-class>
+   		<around-invoke>
+   			<method-name>interceptorMethod</method-name>
+   		</around-invoke>
+   	</interceptor>
+   	<interceptor>
+   		<interceptor-class>org.jboss.tutorial.partial_deployment_descriptor.bean.SecondInterceptor</interceptor-class>
+   	</interceptor>
+   </interceptors>
+   <assembly-descriptor>
+   	  <security-role>
+         <role-name>admin</role-name>
+      </security-role>
+      <security-role>
+         <role-name>normal</role-name>
+      </security-role>
+      <method-permission>
+         <role-name>normal</role-name>
+         <method>
+            <ejb-name>CompleteXMLDD</ejb-name>
+            <method-name>sayHello</method-name>
+         </method>
+      </method-permission>
+      <method-permission>
+         <unchecked/>
+         <method>
+            <ejb-name>CompleteXMLDD</ejb-name>
+            <method-name>sayBye</method-name>
+         </method>
+      </method-permission>
+      <method-permission>
+         <role-name>admin</role-name>
+         <method>
+            <ejb-name>PartialXMLDD</ejb-name>
+            <method-name>echoMessage</method-name>
+         </method>
+         <method>
+            <ejb-name>PartialXMLDD</ejb-name>
+            <method-name>changeMessage</method-name>
+         </method>
+      </method-permission>
+      <container-transaction>
+         <method>
+            <ejb-name>CompleteXMLDD</ejb-name>
+            <method-name>greetWithNotSupportedTransaction</method-name>
+         </method>
+         <trans-attribute>NotSupported</trans-attribute>
+      </container-transaction>
+      <container-transaction>
+         <method>
+            <ejb-name>CompleteXMLDD</ejb-name>
+            <method-name>greetWithRequiredTransaction</method-name>
+            <method-params>
+               <method-param>java.lang.String</method-param>
+            </method-params>
+         </method>
+         <trans-attribute>Required</trans-attribute>
+      </container-transaction>
+      <interceptor-binding>
+      	<ejb-name>CompleteXMLDD</ejb-name>
+      	<interceptor-class>org.jboss.tutorial.partial_deployment_descriptor.bean.FirstInterceptor</interceptor-class>
+      	<interceptor-class>org.jboss.tutorial.partial_deployment_descriptor.bean.SecondInterceptor</interceptor-class>
+   	  </interceptor-binding>
+      <exclude-list>
+         <method>
+            <ejb-name>CompleteXMLDD</ejb-name>
+            <method-name>uncallableMethod</method-name>
+         </method>
+      </exclude-list>
+      
+   </assembly-descriptor>
+        
+</ejb-jar>
+
+			]]>
+		</programlisting>
+       </para>
+      </sect5>
+      <sect5>  
+         Transactions :
+         <para>
+            The following <literal>ejb-jar.xml</literal> file overrides any <literal>@TransactionAttribute</literal> annotations for the 
+            <literal>greetWithNotSupportedTransaction</literal> method of the <literal>CompleteXMLDD</literal> bean and adds a 
+            <literal>@TransactionAttribute</literal> annotation for <literal>NOT SUPPORTED</literal>.
+            <programlisting>
+            	<![CDATA[
+ at TransactionAttribute (TransactionAttributeType.REQUIRES_NEW)
+public String greetWithNotSupportedTransaction(String name)
+{
+            	
+...            	
+<container-transaction>
+   <method>
+      <ejb-name>CompleteXMLDD</ejb-name>
+      <method-name>greetWithNotSupportedTransaction</method-name>
+   </method>
+   <trans-attribute>NotSupported</trans-attribute>
+</container-transaction>
+...
+            ]]></programlisting>
+         </para>
+      </sect5>
+      <sect5>  
+         References :
+         <para>
+            The following <literal>ejb-jar.xml</literal> file creates a EJB reference and injects the EJB to the injection 
+            target of the <literal>partialXMLDDBean</literal> member variable.
+            <programlisting><![CDATA[
+<ejb-name>CompleteXMLDD</ejb-name>
+...            
+<ejb-ref>
+   <ejb-ref-name>ejb/PartialXMLDD</ejb-ref-name>
+   <ejb-ref-type>Session</ejb-ref-type>
+   <mapped-name>PartialXMLDD/remote</mapped-name>
+   <injection-target>
+    	<injection-target-class>org.jboss.tutorial.partial_deployment_descriptor.bean.CompleteXMLDDBean</injection-target-class>
+    	<injection-target-name>partialXMLDDBean</injection-target-name>
+    </injection-target>
+</ejb-ref>
+...
+            ]]></programlisting>
+         </para>
+      </sect5>
+      <sect5>  
+         Callbacks :
+         <para>
+            The following <literal>ejb-jar.xml</literal> file adds a <literal>@PostConstruct</literal> annotation to the 
+            <literal>postConstruct</literal> method of the <literal>CompleteXMLDD</literal> bean.
+            <programlisting>
+            	<![CDATA[
+<ejb-name>CompleteXMLDD</ejb-name>            	
+...            	
+<post-construct>
+	<lifecycle-callback-class>org.jboss.tutorial.partial_deployment_descriptor.bean.ExternalCallbackListener</lifecycle-callback-class>
+	<lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+</post-construct>
+...
+            	]]>
+            </programlisting>
+         </para>
+      </sect5>
+   </sect5>
+   
+   	<sect5>
+	
+Building and Running
+	<para>
+			<note>
+					<para>
+						To build and run the example, make sure you have installed JBoss 5.x. 
+						See the <xref linkend="JBossAS5">installation section</xref> for details.
+					</para>
+			</note>
+			From the command prompt, move to the "partial_deployment_descriptor" folder under the <xref linkend="EJB3_TUTORIAL_HOME">EJB3_TUTORIAL_HOME</xref>		
+			<sect5>
+		Ant Users:
+			</sect5>
+				<para>
+				Make sure your JBossAS-5.x is running
+				</para>
+			<programlisting>
+			<![CDATA[
+$ ant
+$ ant run
+
+run:
+     [java] jai is a normal user
+     [java] Hello, jai. I am the CompleteXMLDDBean. I have the following resources with me:
+     [java] Timer Service : org.jboss.ejb3.timerservice.jboss.TimerServiceFacade at 184a6b9
+     [java] PartialXMLDD Bean : Proxy to jboss.j2ee:jar=jboss-ejb3-tutorial-partial_deployment_descriptor.jar,name=PartialXMLDD,service=EJB3 implementing [interface org.jboss.ejb3.proxy.intf.EjbProxy, interface org.jboss.tutorial.partial_deployment_descriptor.bean.PartialXMLDD, interface org.jboss.ejb3.proxy.intf.StatefulSessionProxy, interface org.jboss.ejb3.proxy.intf.SessionProxy]
+     [java] 
+     [java] Welcome jai, you are in a method with no transaction supported
+     [java] Welcome jai, you are in a method with a REQUIRED transaction
+     [java] Bye, jai. Hope to see you again
+     [java] We'll try calling an uncallable method
+     [java] Caught expected exception : Caller unauthorized
+     [java] bill is an admin
+     [java] Sending Hello World message to bean. We expect the bean to change it
+     [java] This message has been changed
+     [java] Now calling echo message
+     [java] Hello World
+     [java] We are done with the bean, let's remove it
+     [java] Bean removed
+
+
+		     ]]>
+			</programlisting>
+		
+			<sect5>
+		Maven Users: <xref linkend="Maven_Users_TODO">TODO</xref>
+			</sect5>
+			
+			<programlisting>
+$ mvn clean install
+			</programlisting>
+							
+		</para>
+	</sect5>	
+   
+   
+</chapter>
+


Property changes on: projects/ejb3/trunk/docs/tutorial/guide/en/modules/partial_deployment_descriptor.xml
___________________________________________________________________
Name: svn:executable
   + *

Modified: projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml
===================================================================
--- projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml	2009-02-02 10:46:50 UTC (rev 83771)
+++ projects/ejb3/trunk/docs/tutorial/guide/en/modules/ssl.xml	2009-02-02 10:47:55 UTC (rev 83772)
@@ -116,7 +116,7 @@
       					
       					]]>
       				</programlisting>
-      				<literal>alias</literal> is the name ("ejb2-ssl") of the key pair within the keystore. <literal>keypass</literal> 
+      				<literal>alias</literal> is the name ("ejb3-ssl") of the key pair within the keystore. <literal>keypass</literal> 
       				is the password ("opensource") for the keystore, and <literal>keystore</literal> specifies the location ("localhost.keystore") of the keystore to create/add to.
       			</para>
       			<para>




More information about the jboss-cvs-commits mailing list