当我部署我的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) 我们将我们的应用程序打包为.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的工作方式的部署人员来说更顺畅?其他人如何处理这种情况?谢谢你的任何建议.
我正在从 Eclipse 切换到 IntelliJ,我正在尝试在 Eclipse 中做一些非常简单的事情。这可能是一个简单的问题,但我在 IntelliJ 中有一个项目,其中包含一堆带有主类的小型 .java 类文件。这些只是我用于测试的小型练习程序。我正在尝试右键单击 Java 类文件之一,然后单击“运行”。我期待该类运行并在控制台中看到它的输出 - 看起来 IntelliJ 正在尝试编译整个项目,包括测试类。
如何让 IntelliJ 只运行单个类文件而不尝试构建整个项目?
另外 - 在 eclipse 中,我习惯于在运行单个 java 类时将主类的参数复制到输入窗口中。有没有办法在 IntelliJ 中做到这一点。
谢谢,我知道我可以从终端执行此操作,但就我而言,从 ide 快速运行小型 Java 程序会很有帮助。
我正在尝试创建自定义用户名密码验证过滤器,因为我需要验证来自两个不同来源的密码.我正在使用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) 我修改了我们的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) 我有一个问题,我试图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
它绝对不在命令行的类路径中.任何建议表示赞赏
我正在浏览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.
不确定如何解决,任何建议赞赏.
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) 我正在按照这些说明来设置如何设置用于GibHub的SSH密钥.
说明告诉您删除当前.ssh
目录并在该.ssh目录中创建新密钥.我无法这样做,因为我已经拥有id_dsa.pub
了我需要用于其他服务器的密钥.
是否可以为GitHub设置ssh,同时保留我已保存的密钥.ssh
?或者有没有其他方法为GitHub设置ssh?
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文档直接导出到打印机的目标?或者可以跨浏览器工作的第三方库?