我在使用工厂时看到了一个关于蓝图的例子。 在这个例子中,他们硬编码参数的值,如" 2"在下面的例子中。
public class StaticAccountFactory {
public static Account createAccount(long number) {
return new Account(number);
}
}
...
<bean id="accountTwo"
class="org.apache.aries.simple.StaticAccountFactory"
factory-method="createAccount">
<argument **value="2"**/>
我的问题是如何从想要使用此bean的客户端包中发送此值?以及如何为此提议的bean创建服务?如果该工厂需要一个bundle对象作为参数而不是简单的值,那么客户端bundle如何将自己的bundle传递给这个工厂呢?
提前致谢, anurak
答案 0 :(得分:1)
<bean id="combinedClassLoader" class="my.package.hazelcast.CombinedClassLoader" init-method="init" destroy-method="destroy"/>
<bean id="hazelcastClient" class="my.package.hazelcast.HazelcastInstanceFactory" factory-method="create">
<argument value="123"/>
<argument ref="combinedClassLoader"/>
</bean>
答案 1 :(得分:0)
您只需使用上述方法创建工厂类,但不是静态的,并将其作为服务公开。或者您只是让客户端使用静态方法。