在Spring里,你可以在applicationContext.xml里面托管任意的 Java Beans。只需要加上以上一段代码。
applicationContext.xml 片段
<bean id="random" class="java.util.Random" autowire="byType">
<property name="seed" value="23408203840284" />
</bean>
这样我就可以在容器范围内随心所欲地使用这个名为random的托管Bean了。
但是当我想在EJB环境下,把java.util.Random当作一个Singleton/Stateless的EJB进行托管的时候,我便遇到了一些麻烦。
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.1"
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/ejb-jar_3_1.xsd">
<enterprise-beans>
<session>
<ejb-name>random</ejb-name>
<local-bean />
<ejb-class>java.util.Random</ejb-class>
<session-type>Singleton</session-type>
</session>
</enterprise-beans>
</ejb-jar>
当我企图把这个jar/war包部署到glassfish上的时候,服务器给我返回了以下错误。
到底有没有办法让 java.util.Random这类符合在基础类库或第三方类库里Java Beans 特性的POJO也成为被托管的对象呢?