Using the XML config namespace automatically installs the needed implementations of flex.messaging.services.ServiceAdapter
for use with the Remoting and Message services. Third-party adapters (such as those provided by the dpHibernate or Gilead projects) can
be configured using the org.springframework.flex.core.ManageableComponentFactoryBean
. This factory bean implementation is
able to process arbitrarily complex configuration metadata supplied in JSON format (instead of arbitrarily complex XML as in the native
BlazeDS configuration) and honors the lifecycle semantics (such as proper invocation of the initialize
method) of the
ManageableComponent. These custom adapters may be used by Spring-managed Remoting and Message destinations by either setting its id as the
default for the Remoting or Message service, or by setting the service-adapter
attribute for a specific destination (see the
Remoting and Messaging chapters for further detail).
For example, to use the special adapter provided by dpHibernate as the default adapter with the Remoting service, the configuration would be similar to the following:
<bean id="hibernate-object" class="org.springframework.flex.core.ManageableComponentFactoryBean"> <constructor-arg value="net.digitalprimates.persistence.hibernate.HibernateAdapter"/> <property name="properties"> <value> {"hibernate" : {"sessionFactory" : { "class" : "net.digitalprimates.persistence.hibernate.utils.HibernateUtil", "getCurrentSessionMethod" : "getCurrentSession" } } } </value> </property> </bean> <flex:message-broker> <flex:remoting-service default-adapter-id="hibernate-object" /> </flex:message-broker>