Diferencia entre revisiones de «Work Manager en Weblogic»
(Página creada con 'Un Work Manager en Weblogic permite, entre otras cosas, crear limitaciones para los hilos (threads) de aquellas aplicaciones que estén asociadas a él. == Configuración en We…') |
|||
Línea 26: | Línea 26: | ||
</weblogic-web-app> | </weblogic-web-app> | ||
</code> | </code> | ||
+ | |||
+ | == Configuración en aplicación == | ||
+ | |||
+ | También es posible crear y configurar Work Managers en la aplicación, esto es mediante los descriptores de los respectivos módulos. | ||
+ | |||
+ | === Modulo WEB === | ||
+ | |||
+ | Creación del Work Manager, esto se especifica en el archivo weblogic.xml. | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <wls:weblogic-web-app | ||
+ | xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" | ||
+ | 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/web-app_2_5.xsd | ||
+ | http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"> | ||
+ | <wls:weblogic-version>10.3.2</wls:weblogic-version> | ||
+ | <wls:context-root>/workmanager-demo-web</wls:context-root> | ||
+ | <wls:work-manager> | ||
+ | <wls:name>WorkManagerdemo_web</wls:name> | ||
+ | <wls:max-threads-constraint> | ||
+ | <wls:name>5MaxThreads</wls:name> | ||
+ | <wls:count>5</wls:count> | ||
+ | </wls:max-threads-constraint> | ||
+ | <wls:capacity> | ||
+ | <wls:name>7MaxCapacity</wls:name> | ||
+ | <wls:count>7</wls:count> | ||
+ | </wls:capacity> | ||
+ | </wls:work-manager> | ||
+ | </wls:weblogic-web-app> | ||
+ | </code> | ||
+ | |||
+ | Ahora hay que relacionar los servlet con el Work Manager, esto se especifica en el archivo web.xml. | ||
+ | |||
+ | <code xml> | ||
+ | <servlet> | ||
+ | <servlet-name>WorkManagerServlet</servlet-name> | ||
+ | <servlet-class>com.dosideas.controller.WorkManagerServlet</servlet-class> | ||
+ | <init-param> | ||
+ | <param-name>wl-dispatch-policy</param-name> | ||
+ | <param-value>WorkManagerdemo_web</param-value> | ||
+ | </init-param> | ||
+ | </servlet> | ||
+ | </code> | ||
+ | |||
+ | === Modulo EJB === |
Revisión del 12:42 10 feb 2012
Un Work Manager en Weblogic permite, entre otras cosas, crear limitaciones para los hilos (threads) de aquellas aplicaciones que estén asociadas a él.
Contenido
Configuración en Weblogic 10.x
El proceso consiste en crear por consola el Work Manager en si, y luego un componente especifico por cada limitación que quisiéramos activar.
El primer paso es ir a la consola del Weblogic --> Enviroment --> Work Managers --> New --> Work Manager. El nombre que elijamos luego lo utilizaremos en la aplicacion destino.
Luego debemos crear un componente por tipo de limitación que necesitamos.
Si por ejemplo queremos que se ejecuten como máximo dos hilos y otros dos queden encolados, creamos un Maximum Threads Constraint con valor dos y Capacity Constraint con valor 4.
Paso siguiente ingresamos en el Work Manager que creamos al comienzo, y le asignamos las limitaciones correspondientes. Recordar que al hacer este paso debemos reiniciar los servidores donde afecte dicha configuración.
Finalmente debemos decirle a nuestra aplicacion que utilice un Work Manager específico y no el default que provee Weblogic. Esto se configura en los descriptores de nuestra aplicación. En el caso de una aplicacion web, lo indicamos en el weblogic.xml:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<context-root>/conexto-aplicacion</context-root> <wl-dispatch-policy>miWorkManager</wl-dispatch-policy>
</weblogic-web-app>
Configuración en aplicación
También es posible crear y configurar Work Managers en la aplicación, esto es mediante los descriptores de los respectivos módulos.
Modulo WEB
Creación del Work Manager, esto se especifica en el archivo weblogic.xml.
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
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/web-app_2_5.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<wls:weblogic-version>10.3.2</wls:weblogic-version>
<wls:context-root>/workmanager-demo-web</wls:context-root> <wls:work-manager> <wls:name>WorkManagerdemo_web</wls:name> <wls:max-threads-constraint> <wls:name>5MaxThreads</wls:name> <wls:count>5</wls:count> </wls:max-threads-constraint> <wls:capacity> <wls:name>7MaxCapacity</wls:name> <wls:count>7</wls:count> </wls:capacity> </wls:work-manager>
</wls:weblogic-web-app>
Ahora hay que relacionar los servlet con el Work Manager, esto se especifica en el archivo web.xml.
<servlet>
<servlet-name>WorkManagerServlet</servlet-name> <servlet-class>com.dosideas.controller.WorkManagerServlet</servlet-class> <init-param> <param-name>wl-dispatch-policy</param-name> <param-value>WorkManagerdemo_web</param-value> </init-param>
</servlet>