小编use*_*804的帖子

createEntityManager在org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus中抛出java.lang.NullPointerException.

当我部署我的hibernate应用程序时,我得到了这个堆栈跟踪

java.lang.NullPointerException
    at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus(JtaStatusHelper.java:72) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
    at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.isActive(JtaStatusHelper.java:114) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
    at org.hibernate.engine.transaction.internal.jta.CMTTransaction.join(CMTTransaction.java:149) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
    at org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1197) [hibernate-entitymanager-4.0.0.Beta1.jar:4.0.0.Beta1]
    at org.hibernate.ejb.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:170) [hibernate-entitymanager-4.0.0.Beta1.jar:4.0.0.Beta1]
    at org.hibernate.ejb.EntityManagerImpl.<init>(EntityManagerImpl.java:90) [hibernate-entitymanager-4.0.0.Beta1.jar:4.0.0.Beta1]
    at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:112) [hibernate-entitymanager-4.0.0.Beta1.jar:4.0.0.Beta1]
    at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:107) [hibernate-entitymanager-4.0.0.Beta1.jar:4.0.0.Beta1]
    at com.mycompany.myapp.common.persistence.HibernateUtil.<clinit>(HibernateUtil.java:53) [classes:]
    at com.mycompany.myapp.common.businessobjects.ServerSettings.GetServerSettings(ServerSettings.java:247) [classes:]
    at com.mycompany.myapp.common.servlet.SecurityFilter.init(SecurityFilter.java:55) [classes:]
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3245) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3836) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.0.Final.jar:7.0.0.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)
    at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26]
    at java.lang.Thread.run(Thread.java:680) [:1.6.0_26]
Run Code Online (Sandbox Code Playgroud)

它在我的HibernateUtil类中命中NPE,第53行是一条创建EntityManager的行 - 看起来createEntityManager()返回null.代码看起来像

private static EntityManagerFactory entityManagerFactory = null;
private static EntityManager entityManager = null;

static {
    try {

        entityManagerFactory …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa nullpointerexception entitymanager

13
推荐指数
2
解决办法
2万
查看次数

JBoss AS7*.dodeploy文件

我们将我们的应用程序打包为.war文件,我们宣传支持JBoss AS5并指示我们的客户将.war复制到他们的JBoss'deploy'目录中,并启动他们的应用服务器以部署.war.

我们正在引入对JBoss AS7的支持,因此我们对AS7的部署指令必须改为类似

-copy the application.war to $JBOSS_HOME/standalone/deployments
-touch $JBOSS_HOME/standalone/deployments/application.war.dodeploy
-start JBoss AS7
Run Code Online (Sandbox Code Playgroud)

这种deployent方法对我来说似乎很尴尬,而且可能很脆弱,因为无法成功创建*.dodeploy文件会导致部署失败.此外,JBoss启动问题可能导致部署失败,导致*.dodeploy文件被重命名*.failed - 因此在尝试重新部署之前必须将其重命名为*.dodeploy.我们认为这个过程对于一些可能不熟悉JBoss AS7的客户来说有点尴尬.

有没有办法自动化这个部署过程,这样对于那些可能不熟悉JBoss AS7的工作方式的部署人员来说更顺畅?其他人如何处理这种情况?谢谢你的任何建议.

java jboss jboss7.x

11
推荐指数
4
解决办法
4万
查看次数

IntelliJ 运行单个 Java 文件

我正在从 Eclipse 切换到 IntelliJ,我正在尝试在 Eclipse 中做一些非常简单的事情。这可能是一个简单的问题,但我在 IntelliJ 中有一个项目,其中包含一堆带有主类的小型 .java 类文件。这些只是我用于测试的小型练习程序。我正在尝试右键单击 Java 类文件之一,然后单击“运行”。我期待该类运行并在控制台中看到它的输出 - 看起来 IntelliJ 正在尝试编译整个项目,包括测试类。

如何让 IntelliJ 只运行单个类文件而不尝试构建整个项目?

另外 - 在 eclipse 中,我习惯于在运行单个 java 类时将主类的参数复制到输入窗口中。有没有办法在 IntelliJ 中做到这一点。

谢谢,我知道我可以从终端执行此操作,但就我而言,从 ide 快速运行小型 Java 程序会很有帮助。

java eclipse intellij-idea

11
推荐指数
2
解决办法
2万
查看次数

必须指定Spring Security authenticationmanager - 用于自定义筛选器

我正在尝试创建自定义用户名密码验证过滤器,因为我需要验证来自两个不同来源的密码.我正在使用Spring Boot 1.2.1和Java配置.我在部署时遇到的错误是

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customUsernamePasswordAuthenticationFilter' defined in file [/Users/rjmilitante/Documents/eclipse-workspace/login-service/bin/com/elsevier/eols/loginservice/CustomUsernamePasswordAuthenticationFilter.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: authenticationManager must be specified
…
Caused by: java.lang.IllegalArgumentException: authenticationManager must be specified
Run Code Online (Sandbox Code Playgroud)

我不确定我错过了什么.我一直在尝试在SecurityConfig中为此过滤器设置authenticationManager.我的代码看起来像

我的过滤器:

@Component
public class CustomUsernamePasswordAuthenticationFilter extends AbstractAuthenticationProcessingFilter {

    public CustomUsernamePasswordAuthenticationFilter(RequestMatcher requiresAuthenticationRequestMatcher) {
        super(requiresAuthenticationRequestMatcher);
        // TODO Auto-generated constructor stub
    }

    public CustomUsernamePasswordAuthenticationFilter() {
        super(new AntPathRequestMatcher("/login","POST"));
        // TODO Auto-generated constructor stub
    }

    public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response)
            throws AuthenticationException {
        // String dbValue …
Run Code Online (Sandbox Code Playgroud)

spring spring-security

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

ActiveMQ简单身份验证插件 - 用户管理员无权创建:topic://ActiveMQ.Advisory.Connection

我修改了我们的ActiveMQ配置,使用ActiveMQ Simple Authentication Plugin,其中包含一个拥有代理所有权限的用户和密码

    <plugins>
        <simpleAuthenticationPlugin>
            <users>
                    <authenticationUser
                    username="admin"
                    password="pass"
                    groups="admins,publishers,consumers" />
            </users>
        </simpleAuthenticationPlugin>
     <authorizationPlugin>
          <map>
              <authorizationMap>
                  <authorizationEntries>
                      <authorizationEntry queue=">" write="producers" read="consumers" admin="admins" />
                  </authorizationEntries>
              </authorizationMap>
          </map>
      </authorizationPlugin>

    </plugins>
Run Code Online (Sandbox Code Playgroud)

我的java Web应用程序之前通过调用createConnection()而没有任何参数来创建ActiveMQConnectionFactory的实例.

    connection = (ActiveMQConnection)connectionFactory.createConnection();
Run Code Online (Sandbox Code Playgroud)

我修改了我的代码,将我的ActiveMQ Simple Authentication Plugin配置中定义的用户名和密码字符串传递给createConnection()方法的重载版本

    String username = "admin";
    String password = "pass";
    connection = (ActiveMQConnection)connectionFactory.createConnection(username, password);
Run Code Online (Sandbox Code Playgroud)

我能够干净地编译我的代码,但在部署时收到'用户无法创建主题'错误

    10:51:03,831 ERROR [stderr] (MSC service thread 1-11) javax.jms.JMSException: User admin is not authorized to create: topic://ActiveMQ.Advisory.Connection
    10:51:03,832 ERROR [stderr] (MSC service thread 1-11)   at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
    10:51:03,832 ERROR [stderr] (MSC …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic

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

Gradle构建 - 无法导入org.json

我有一个问题,我试图org.json在gradle/spring启动项目中包含作为依赖项.在我的build.gradle中,我有

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-security")
    compile("org.json:json:20141113")
}
Run Code Online (Sandbox Code Playgroud)

但是在编辑器窗口中,看起来IntelliJ无法导入org.json - 它无法找到包

在此输入图像描述

在此输入图像描述

奇怪的是,我可以在IntelliJ中运行gradle'build'任务而没有错误,我可以运行

./gradlew clean build && java -jar build/libs/MyApp-0.1.0.jar
Run Code Online (Sandbox Code Playgroud)

它工作正常.

这是一个"胖罐子"的问题吗?我不确定是不是因为org.json它绝对不在命令行的类路径中.任何建议表示赞赏

java spring gradle

8
推荐指数
2
解决办法
2万
查看次数

Eclipse:对服务器运行选项对maven项目不可见

我正在浏览jboss as7入门指南http://hudson.jboss.org/jenkins/job/JBoss-AS7-Docs/lastSuccessfulBuild/artifact/guides/developer-getting-started-guide/target/docbook/发布/ en-US/html/helloworld.html.本教程让我们设置了一个示例helloworld快速入门maven项目.

我能够从命令行成功部署此项目

mvn package jboss-as:deploy
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从Eclipse部署helloworld示例时 - 运行菜单中缺少"在服务器上运行"选项.我安装了Eclipse 3.7和maven wtp.

不确定如何解决,任何建议赞赏.

eclipse jboss maven

7
推荐指数
2
解决办法
3万
查看次数

org.hibernate.MappingNotFoundException:resource:*找不到hbm.xml

JBoss AS 7.0.1.Final,Hibernate 3.我们有一个MySQL数据源.

我有映射资源指向*hbm.xml文件.我得到部署错误,告诉我'资源:*找不到hbm.xml',因此实体未正确映射 - 此堆栈跟踪是由于找不到User.hbm.xml,

14:44:34,654 INFO  [org.hibernate.cfg.Configuration] (MSC service thread 1-9) HHH00042:Configuring from file: hibernate.cfg.xml
14:44:34,668 WARN  [org.hibernate.internal.util.xml.DTDEntityResolver] (MSC service thread 1-9) HHH00223:Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
14:44:34,670 INFO  [org.hibernate.cfg.Configuration] (MSC service thread 1-9) HHH00221:Reading mappings from resource: User.hbm.xml
14:44:34,697 SEVERE [com.mycompany.myapp.common.persistence.HibernateUtil] (MSC service thread 1-9) Initial SessionFactory lookup failed.: org.hibernate.MappingNotFoundException: resource: User.hbm.xml not found
      at org.hibernate.cfg.Configuration.addResource(Configuration.java:720) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
      at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2083) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
      at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2055) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5]
      at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2035) [hibernate-core-4.0.0.Beta5.jar:4.0.0.Beta5] …
Run Code Online (Sandbox Code Playgroud)

java jboss hibernate

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

为GibHub设置ssh密钥

我正在按照这些说明来设置如何设置用于GibHub的SSH密钥.

说明告诉您删除当前.ssh目录并在该.ssh目录中创建新密钥.我无法这样做,因为我已经拥有id_dsa.pub了我需要用于其他服务器的密钥.

是否可以为GitHub设置ssh,同时保留我已保存的密钥.ssh?或者有没有其他方法为GitHub设置ssh?

ssh github

7
推荐指数
2
解决办法
8597
查看次数

在Internet Explorer中PDF导出打印

protected static byte[] exportReportToPdf(JasperPrint jasperPrint) 
                                                      throws JRException {
  JRPdfExporter exporter = new JRPdfExporter();       
  ByteArrayOutputStream baos = new ByteArrayOutputStream();

  exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
  exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, 
              "this.print({bUI: true,bSilent: false,bShrinkToFit: true});");

  exporter.exportReport();        
  return baos.toByteArray();
}
Run Code Online (Sandbox Code Playgroud)

我们使用这样的代码从Jasper应用程序导出PDF文档.

这条线

exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, 
             "this.print({bUI: true,bSilent: false,bShrinkToFit: true});");
Run Code Online (Sandbox Code Playgroud)

添加JavaScript以将PDF文档直接发送到打印机.

预期的行为是打印对话框将提供PDF文档的预览.

这在大多数情况下都可以正常工作 - 除了我在Internet Explorer 8和Firefox中每5-6次出现一次问题.

会发生什么 - 带有PDF文档的打印预览对话框没有出现,或者在预览窗口中显示空白文档.

- 我尝试了很多不同的JavaScripts(不同的params来this.print()通过 - exporter.setParameter 我尝试过设置不同的响应头,例如

response.setContentType("application/pdf");
response.setHeader("Content-disposition","inline;  filename=\"" 
                   + reportName 
                   + "\"");
response.setContentLength(baos.size());
Run Code Online (Sandbox Code Playgroud)

这些似乎没有帮助

这似乎是一个IE和FF问题.有人曾经处理过这个问题吗?我需要100%的时间让它在所有浏览器中运行.也许是一种不同的方法来实现将PDF文档直接导出到打印机的目标?或者可以跨浏览器工作的第三方库?

javascript java browser pdf jasper-reports

6
推荐指数
1
解决办法
2582
查看次数