我有在@RequestScoped bean中编写协议文件的应用程序逻辑。我想在@SessionScoped bean到期之前编写协议。
@SessionScoped
class Anybean implements Serializable {
@Inject
private ProtocolBean protocolBean;
@PreDestroy
private void writeFinalProtocol() {
protocolBean.writeProtocol();
}}
我得到了错误: WELD-000019错误销毁一个实例管理的Bean。通常不允许从@PreDestroy调用其他bean吗?
发布于 2013-06-18 22:04:00
好的,我发现:只要我把ProtocolBean改成@SessionScoped或@ApplicationScoped,一切都会正常工作。似乎您不能在@ RequestScoped方法中实例化PreDestroy bean并在其上调用方法。
底层异常为:调用方法时发生com.sun.jdi.InvocationException
https://stackoverflow.com/questions/17151895
复制相似问题