我试图弄清楚如何在CDI中使用构造函数注入,其中一个参数是JNDI查找。
用正常的打野,我可以做到以下几点:
@Stateless
public class Publisher
{
@Inject
@JMSConnectionFactory("java:/jms/remoteCF")
private JMSContext context;
@Resource(lookup="java:global/remote")
private InitialContext externalContext;
private Topic genericTopic;
@PostConstruct
public void init(){
try {
Object obj = externalContext.lookup(TOPIC);
genericTopic = (javax.jms.Topic) obj;
} catch (NamingException namingException) {
}
}
}
@Inject
public Publisher( @JMSConnectionFactory("java:/jms/remoteCF") JMSContext context, @Resource( "java:global/remote") InitialContext externalContext ){
this.context = context;
this.externalContext = externalContext;
}
如何指定externalcontext
参数是通过JNDI查找检索的bean?在哪里指定JNDI名称?
你有两个选择。
@production@named(TOPIC)public TOPIC findTopic(JMSContext context){return context.createTopic(TOPIC);}
@产生@named(“someName”)@resource(“java:global/remote”)private InitialContext externalcontext;
我分配给类的属性是: 我需要设置ISSOLD,并敦促其设置为false。这就是我创建默认构造函数的原因。但是我使用Builder()来设置类字段,并且在某个地方使用getter/setter来设置属性。 我的要求是将isPurpressed/IsSoldOut设置为True/False,但不能为NULL。 请指导我如何才能做到这一点。
我想把它转换成这样的东西: 这将使类不可变并且更容易进行单元测试。问题是,由于executorService需要通过@Resource注释获得,它似乎不能通过构造函数注入。
问题内容: 我的spring bean具有一个带有唯一强制性参数的构造函数,我设法用xml配置对其进行了初始化: 然后,我像这样使用此bean,并且效果很好。 但是我想用注释指定contructor arg值,例如 这可能吗 ? 提前致谢 问题答案: 首先,必须在bean定义中而不是在注入点中指定构造函数arg。然后,你可以利用spring的注释(spring 3.0) 就我所看到的问题而言,这可
我把下面的内容看做是构造函数和setter注入的区别之一。有人能用一些简单的例子解释一下下面的区别吗,我对术语完全功能对象和不完全对象有点困惑。 -
想改进这个问题吗?更新问题,以便可以通过编辑这篇文章来回答事实和引文。 我确实使用Spring和Lombok 没有原型bean,我们必须传递目标类所需的依赖项 我们如何将bean标记为原型并正确处理依赖bean和构造函数参数? 选项1 -没有原型beans 选项 2 - 原型豆
我有一个使用构造函数表达式的查询。在大多数情况下,它是工作的,但是我想减少数据库上的查询数量。所以我尝试了FETCH和@EntityGgraph,但是我得到了 org.springframework.dao.InvalidDataAccessResourceUsageException:查询指定的联接提取,但提取关联的所有者不在选择列表中[FromElement{explicit,不是集合联接,提