Realmente la integración no tiene ningún secreto, solo hay que seguir los pasos que marca el manual de Spring:
- Añadir las librerías de Spring al proyecto ViewController
- Crear el fichero de configuración de Spring(E.j.: /WEB-INF/applicationContext31.xml)
- Registrar los recursos necesarios en el fichero /WEB-INF/web.xml
- Hacer disponibles los beans de Spring desde Expression Language
Finalmente hay que indicar en el fichero de configuración de weblogic que de preferencias a nuestras clases de spring:
Durante el despliegue de la aplicación surgio un problema con la definición de los ficheros de Spring.
XML-24509: (Error) Definición duplicada para: 'annotation' XML-24509: (Error) Definición duplicada para: 'typedParameterType' XML-24509: (Error) Definición duplicada para: 'exportsType' XML-24509: (Error) Definición duplicada para: 'registersScopeType'Solución:
Indicar como paramétro de la MV que Spring 3.1 utilice el parser de xerces. Es recomendable reiniciar el servidor despúes de esto.
-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
Y apartir de este momento empiezan otros quebraderos de cabeza :-)
Enlaces relacionados:
- FIN -
3 comments:
Hola Emerson,
Interesante el artículo. Según entiendo Spring reemplazaria la capa de ADF Model. Entonces en este caso también tendríamos que adicionar logica de negocio del lado de la vista en los managed beans para nosotros mismos crear el soporte que nos da el DataControl.
¿Cuál es tu opinion?
Juan Camilo
Hola Juan,
Hablando de quebraderos de cabeza :-) por que en si, esto da mucho juego. Teniendo presente que una solución puede ser adecuada para uno o muchos problemas, pero no para todos, cualquier cosa que diga puede ser matizada según un contexto de aplicación.
Algunas de las alternativas que se ocurren son por ejemplo:
- Desarrollar una aplicación al completo con la arquitectura de Spring utilizando la potencia de Faces.
- Exponer los servicios de Spring como Data Controls y consumirlos desde Faces.
-Un modelo mixto en el modelo entre ADF BC y Spring.
Como ya adelantaba en el post, la intención básica es poder aprovechar todo el ecosistema OpenSource que tiene Spring desde ADF.
Y aunque parezca que no venga a cuento; por otro lado hecho en falta actualmente la utilización de CDI en ADF, pero bueno ya se irá viendo.
Emmerson.
Hola Juan, bien por este dato que seguro en algún momento servirá.
Recuerdo hace varios años .. como en el 2004 usamos Spring para definir en el contexto algunos bean que hacian a la implementación de un patron llamado Strategy, desde Business Component accediamos al Contexto de Spring y usabamos el Strategy, también para ese proyecto usamos Quartz en donde definimos algunos procesos que se disparaba a determinada con cierta frecuencia. La verdad no descarto el uso de Spring para determinadas cosas que pueden llegar a ser utiles y más si deseamos delegar ciertas responsabilidades a alguien.
Post a Comment