小编Chi*_*hir的帖子

没有可用的JTA UserTransaction - 指定'userTransaction'或'userTransactionName'

我在spring事务中遇到了一个奇怪的问题.我的应用程序使用Spring和EJB.EJB还调用带有注释的Spring服务类@Transaction.我使用Spring JtaTransactionManager进行事务管理.该应用程序打包为一个EAR文件,并部署在jboss5.0上,它工作正常.但是当我指示jboss为每个EAR应用程序使用单独的类加载器时,spring初始化会产生错误.

org.springframework.beans.factory.BeanCreationException: Error creating bean
   with name 'transactionManager' defined in ServletContext resource 
   [/WEB-INF/applicationContext.xml]: Invocation of init method failed; 
nested exception is java.lang.IllegalStateException: No JTA UserTransaction 
   available - specify either 'userTransaction' or 'userTransactionName' or 
   'transactionManager' or 'transactionManagerName'
Run Code Online (Sandbox Code Playgroud)

为什么Spring的初始化不成功?

谢谢

java spring jboss5.x

17
推荐指数
1
解决办法
1万
查看次数

Gradle on Eclipse生成的调试项目

我有一个问题 - 命令"gradle eclipse"生成必要的Eclipse WTP文件.我可以将项目导入Eclipse,但是当我部署到Glassfish时,它不会将任何内容复制到Glassfish的eclipseApp目录中.

我确认该项目是动态Web Facet但它仍然无效.

任何帮助将不胜感激.

谢谢

java eclipse debugging gradle

12
推荐指数
1
解决办法
3292
查看次数

Apache Shiro中的实例级访问控制

我发现了一个灵活的安全框架Apache Shiro.我使用Shiro成功实现了身份验证和授权.

该框架的一个吸引人的特性是基于实例的安全性.我刚从Shiro网站上复制了一些例子.

以下权限存储在数据库中.

printer:query:lp7200
printer:print:epsoncolor
Run Code Online (Sandbox Code Playgroud)

以下代码检查对于给定的打印机实例,当前经过身份验证的用户是否具有权限.

if ( SecurityUtils.getSubject().isPermitted("printer:query:lp7200") {
 // Return the current jobs on printer lp7200
}
Run Code Online (Sandbox Code Playgroud)

我的问题是"这是权限存储在数据库中的方式吗?" 有没有更好的方法来存储基于实例的权限?

请告诉我.

谢谢

java shiro

7
推荐指数
1
解决办法
2999
查看次数

在eclipse中配置FindBugs

我想对FindBugs使用相同的配置,无论它是从eclipse还是ant build执行.

使用ant FindBugs任务,可以指定FindBugs应分析哪些类.但是,FindBugs eclipse插件没有这样的选择.它会考虑构建路径中的所有类.

例如,对于基于maven的项目,eclipse构建路径包含应用程序类和测试类.我希望FindBugs eclipse插件不分析测试类.可能吗?

有没有办法自定义FindBugs eclipse插件来指示要分析的类?

提前致谢.

java eclipse findbugs

5
推荐指数
1
解决办法
1054
查看次数

无状态会话bean可以保护最终方法吗?

我已经定义了一个会话bean基类.此类是抽象的,包含受保护的最终方法.会话实现类扩展了抽象类并定义了其他方法.在部署期间,Glassfish 3.1.2服务器生成一个异常,说明该方法被覆盖.

abstract class AbstractSessionBean {
    @PersistenceContext(unitName="primary")
    private EntityManager em;

    protected final EntityManager getEntityManager() {
       return em;
    }
}

@Startup
@Stateless
class RegistrationSessionBean extends AbstractSessionBean {
     public void loadRegistration() {
        ...
     }
}
Run Code Online (Sandbox Code Playgroud)

在部署期间,glassfish服务器抛出异常.如果我使AbstractSessionBean的方法非final,则部署成功.

这是否意味着会话bean不能拥有最终方法?或者此行为仅适用于Glassfish 3.1.2.

异常消息是:

[#|2013-08-26T17:45:48.542+0530|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=47;_ThreadName=Thread-2;|Exception while loading the app : EJB Container initialization error
java.lang.RuntimeException: Could not invoke defineClass!
    at com.sun.ejb.containers.EjbOptionalIntfGenerator.makeClass(EjbOptionalIntfGenerator.java:448)
    at com.sun.ejb.containers.EjbOptionalIntfGenerator.access$200(EjbOptionalIntfGenerator.java:64)
    at com.sun.ejb.containers.EjbOptionalIntfGenerator$1.run(EjbOptionalIntfGenerator.java:99)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.ejb.containers.EjbOptionalIntfGenerator.loadClass(EjbOptionalIntfGenerator.java:96)
    at com.sun.ejb.containers.BaseContainer.instantiateOptionalEJBLocalBusinessObjectImpl(BaseContainer.java:3886)
    at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:253)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:305)
    at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:108)
    at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:264)
    at …
Run Code Online (Sandbox Code Playgroud)

java ejb-3.0 glassfish-3

4
推荐指数
1
解决办法
3393
查看次数

EJB拦截器与CDI拦截器

在ejb-jar.xml文件中声明的EJB拦截器与beans.xml文件中声明的CDI拦截器之间是否有任何区别?

两个拦截器都使用注释@Interceptors声明.如果CDI拦截器也适用于EJB,那么为什么存在EJB拦截器?

java cdi java-ee-6 ejb-3.1

4
推荐指数
1
解决办法
1566
查看次数