Proyectos Enterprise JavaBean (de EJB 2.0 a EJB 2.1)

El asistente de migración de J2EE da soporte a la migración de descriptores de despliegue de enterprise beans del recurso EJB del nivel de especificación J2EE 1.3 a J2EE 1.4. Los beans de sesión sin estado y los beans controlados por mensajes migran a J2EE 1.4.

Migrar beans de sesión

Con el asistente de migración J2EE, los beans de sesión sin estado que estén definidos como interfaces de punto final de servicio (SEI) en el descriptor webservices.xml de un proyecto EJB en J2EE 1.3 se pueden migrar al nivel de especificación J2EE 1.4, estableciéndose para ello nuevas interfaces de punto final de servicio en los beans de sesión sin estado.

La especificación J2EE 1.4 exige que se defina una SEI en un bean de sesión sin estado que deba utilizarse como punto final de servicios Web. Durante la migración de un archivo JAR EJB, todos los beans de sesión del proyecto EJB obtienen el nuevo punto final de servicio establecido en el nombre que se utiliza en el descriptor webservices.xml del proyecto EJB. En el siguiente ejemplo, se ve cómo son los metadatos de un proyecto EJB antes y después de migrarlo al nivel de especificación J2EE 1.4.

Proyecto EJB de J2EE 1.3: descriptor webservices.xml con un bean de sesión sin estado que se utiliza como punto final de servicios Web antes de la migración:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE webservices PUBLIC "-//IBM Corporation, Inc.//DTD J2EE Web services 1.0//EN" 
"http://www.ibm.com/webservices/dtd/j2ee_web_services_1_0.dtd">
   <webservices id="WebServices_1084831328093">
      <webservice-description id="WebServiceDescription_1084831328093">
         <webservice-description-name>EchoEJBService</webservice-description-name>
         <wsdl-file>META-INF/wsdl/EchoEJB.wsdl</wsdl-file>
         <jaxrpc-mapping-file>META-INF/EchoEJB_mapping.xml</jaxrpc-mapping-file>
         <port-component id="PortComponent_1084831328103">
            <port-component-name>EchoEJB</port-component-name>
            <wsdl-port id="WSDLPort_1084831328103">
               <namespaceURI>http://test</namespaceURI>
               <localpart>EchoEJB</localpart>
            </wsdl-port>
            <service-endpoint-interface>test.EchoEJB</service-endpoint-interface>
            <service-impl-bean id="ServiceImplBean_1084831328103">
               <ejb-link>EchoEJB</ejb-link>
            </service-impl-bean>
         </port-component>
      </webservice-description>
   </webservices>
Los códigos <service-endpoint-interface> y <service-impl-bean> del ejemplo anterior definen el bean de sesión sin estado "EchoEJB" como punto final de servicio en el descriptor de servicios Web (webservices) en el nivel de especificación J2EE 1.3 antes de la migración.
Proyecto EJB de J2EE 1.4: descriptor de despliegue EJB del mismo bean de sesión sin estado "EchoEJB" con la interfaz de punto final de servicio (SEI) creada por el proceso de migración:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar>
<ejb-jar id="ejb-jar_ID" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
	<display-name>
	EchoEJBProject</display-name>
	<enterprise-beans>
		<session id="EchoEJB">
			<ejb-name>EchoEJB</ejb-name>
			<home>test.EchoEJBHome</home>
			<remote>test.EchoEJB</remote>
			<service-endpoint>test.EchoEJB</service-endpoint>
			<ejb-class>test.EchoEJBBean</ejb-class>
			<session-type>Stateless</session-type>
			<transaction-type>Container</transaction-type>
		</session>
	</enterprise-beans>
</ejb-jar>
The<service-endpoint> tag in the preceding example defines "EchoEJB" as a service endpoint in the J2EE 1.4 specification level after migration.

Migrar beans controlados por mensajes

El asistente de migración de J2EE soporta la migración de beans controlados por mensaje de EJB 2.0 a EJB 2.1.

Los beans controlados por mensajes se introdujeron en EJB 2.0 para dar soporte al proceso de mensajes asíncronos procedentes de un servicio de mensajería Java™ (JMS). La especificación EJB 2.1 amplía la definición del bean controlador por mensajes de forma que pueda dar soporte a cualquier sistema de mensajería, no sólo a JMS.

Nota: Los beans controlados por mensaje que se han migrado del nivel de especificación EJB 2.0 a EJB 2.1 y que se despliegan en WebSphere Application Server, Versión 6, deben desplegarse contra un adaptador de recursos Java Connector Architecture (JCA) 1.5 en lugar de contra un puerto de escucha (como en WebSphere Application Server, Versión 5). Debe utilizar el editor de descriptores de despliegue para cambiar los valores de los enlaces de WebSphere para los beans gestionados por mensajes EJB 2.1 con el fin de que utilicen un adaptador JCA. Consulte Configurar un bean gestionado por mensajes de EJB 2.1 para utilizar un adaptador JCA.
Los artefactos de beans controlados por mensajes EJB 2.0 migrados son:
  • acknowledgeMode
  • messageSelector
  • destinationType
  • subscriptionDurablity
A algunos de los elementos de un bean controlado por mensajes EJB 2.0 los sustituyen propiedades activation-config. Los nombres y valores que se utilizan en la propiedad activation-config para describir el servicio de mensajería varía en función del tipo de servicio de mensajería que se utilice. Sin embargo, la especificación EJB 2.1 define un conjunto de propiedades fijas para los beans controlados por mensajes basados en JMS.

En el siguiente ejemplo, se establece una comparación entre los elementos de un bean de ejemplo de EJB 2.0 y los elementos tal como serían en EJB 2.1.

Ejemplo de los elementos de un bean controlado por mensajes en EJB 2.0:
<message-driven id="Mdb20">
	  <ejb-name>Mdb</ejb-name>
	  <ejb-class>ejbs.MdbBean</ejb-class>
	  <transaction-type>Bean</transaction-type>
	  <message-selector>mdbMessage</message-selector>
	  <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
	  <message-driven-destination>
		<destination-type>javax.jms.Topic</destination-type>
		<subscription-durability>Durable</subscription-durability>
	   </message-driven-destination>
</message-driven>
Ejemplo de los elementos de un bean controlado por mensajes en EJB 2.1:
    <message-driven id="Mdb21">
  <ejb-name>Foo/ejb-name>
  <ejb-class>ejbs.FooBean</ejb-class>
   <messaging-type>javax.jms.MessageListener</messaging-type>
   <transaction-type>Bean/transaction-type>
   <message-destination-type>javax.jms.Topic</message-destination-type>
    <activation-config>
	 <activation-config-property>
	   <activation-config-property-name>destinationType</activation-config-property-name>
	   <activation-config-property-value>javax.jms.Topic</activation-config-property-value>
	 </activation-config-property>
	 <activation-config-property>
	   <activation-config-property-name>subscriptionDurability</activation-config-property-name>
	     <activation-config-property-value>Durable</activation-config-property-value>
	 </activation-config-property>
	 <activation-config-property>
	     <activation-config-property-name>acknowledgeMode</activation-config-property-name>
	     <activation-config-property-value>AutoAcknowledge</activation-config-property-value>
	  </activation-config-property>
	  <activation-config-property>
		<activation-config-property-name>messageSelector</activation-config-property-name>
		<activation-config-property-value>fooSelector</activation-config-property-value>
	  </activation-config-property>
</activation-config>
</message-driven>
Icono que indica el tipo de tema Tema de referencia
Términos y condiciones para centros de información | Comentarios

Icono de indicación de fecha y hora Última actualización: 22 de abril de 2014

Nombre de archivo: rv6ejbprojects.html