Configure JsOrb
JsOrb is currently configured using Spring. Configuration involves
telling JsOrb about your interfaces and their implementations, and
telling it which classes it should marshal to the browser.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="businessLogic.xml"/>
<bean id="interfaceProxyGenerator"
class="org.jsorb.generator.InterfaceProxyGenerator"/>
<bean id="interfaceMap" class="java.util.HashMap">
<constructor-arg>
<map>
<entry>
<key><value>com.foo.BarManager</value></key>
<ref bean="beanManagerImpl"/>
</entry>
</map>
</constructor-arg>
</bean>
<bean id="entityPatterns" class="java.util.ArrayList">
<constructor-arg>
<list>
<value>com.foo.(Bar|Baz|Bif)</value>
</list>
</constructor-arg>
</bean>
</beans>
The above configuration defines a bean named
interfaceMap which needs to be a
Map with
a key that is the fully-qualified name of an interface you wish to
expose, and a value of a bean which implements that interface. You
can define as many interfaces and implementations as you want, and
your implementations can even be inside stateless session beans
(SLSBs) if desired (use Spring's
LocalStatelessSessionProxyFactoryBean). The other bean
that JsOrb requires is called
entityPatterns and is a
List of regular expressions. Every POJO class you wish
to marshal must match at least one of the regular expressions you
provide. If you use Spring's AOP proxies or Hibernate proxies,
you'll need to exclude those proxies from your regular expressions
(for Hibernate, it may help to use
[^$]* instead of
.* for matching class names).