2012-02-10 55 views
0

我有一个对象,我想在不同类型的多个对象来注入。这个目的必须是相同的:JBoss的焊缝:切换注射实例根据上下文并且在若干豆注入实例

class A {} 
class B {@Inject A a;} 
class C {@Inject A a;} 
class D {@Inject A a;} 

该A实例必须B型,C的对象之间共享,D.

此外,我需要能够切换A的实例在那些物体中,不会破坏它。我甚至需要能够保持A的所有实例中的容器。 A的每个实例相关的文档,我的应用程序应该能够n个文档(不是在同一时间,但应该能够他们每个人之间进行切换)。当用户选择另一个文件,A对应的实例应该替换原来的B,C的情况下,D

有没有一种简单的方法与JBoss焊接办呢?

我的解决方案的另一个想法(使用Singleton管理上的文件选择的反应,和装在需要的情况下),但我不觉得这是解决真干净。也许我错了......

回答

0

我找到了解决办法是使用管理,而不是直接使用A,如:

class A {} 
class AManager{A currentA;} 
class B {@Inject AManager manager;} 
class C {@Inject AManager manager;} 
class D {@Inject AManager manager;} 

,并在经理切换电流A,根据上下文。