我没有设置ANT_HOME,所以我想找到ant的主目录所在的位置.我正在使用我的OSX安装上默认安装的ant版本.
我有主线程产生线程#2,它在主线程中使用相同的hibernate Session.线程#2每隔几分钟就会执行一次"选择1",以保持数据库连接处于活动状态,因为主线程需要长时间运行.一旦主线程完成w /处理,它调用提交但我得到错误:
Caused by: org.hibernate.TransactionException: JDBC commit failed
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:161)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
... 5 more
Caused by: java.sql.SQLException: Can't call commit when autocommit=true
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:930)
at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1602)
at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:170)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:146)
... 6 more
Run Code Online (Sandbox Code Playgroud)
在主线程中,它创建成功提交的内部事务,它只是提交时引发此错误的外部事务.我没有看到什么可以改变自动提交布尔值.在我介绍第二个线程以保持连接活动之前,从未发生过此错误.
当我通过Eclipse运行ant时,一些目标构建正常,但需要特定环境变量的那些,即我在.profile文件中设置的SOME_SDK将无效.即使我试图回显$ {env.JAVA_HOME},通过eclipse的Ant也会打印出该字符串.但是如果我通过终端运行ant(即ant sometarget),它会找到JAVA_HOME和SOME_SDK并回显这些路径.我已经检查过eclipse它指向我环境路径中的同一个蚂蚁(/usr/share/java/ant-1.8.1).有任何想法吗?
谢谢
我们使用spring配置jetty并加载所有内容,我正在尝试使用jersey进行Web服务并使用jetty/spring库,以便我可以将一些服务类自动装入我的球衣资源中,但是我遇到了麻烦启动服务器,因为它始终表示ServletContext为null.
这是我的spring config xml:
<property name="handler">
<bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerList">
<property name="handlers">
<list>
<bean class="org.eclipse.jetty.servlet.ServletContextHandler">
<property name="eventListeners">
<list>
<bean class="org.springframework.web.context.ContextLoaderListener" />
<bean
class="org.springframework.web.context.request.RequestContextListener" />
</list>
</property>
<property name="initParams">
<map>
<entry>
<key>
<value>contextConfigLocation</value>
</key>
<value>classpath:applicationContext.xml</value>
</entry>
</map>
</property>
</bean>
<bean class="org.eclipse.jetty.servlet.ServletHandler">
<property name="servlets">
<list>
<bean class="org.eclipse.jetty.servlet.ServletHolder">
<property name="name" value="Jersey" />
<property name="servlet">
<bean
class="com.sun.jersey.spi.spring.container.servlet.SpringServlet" />
</property>
<property name="initParameters">
<map>
<entry>
<key>
<value>com.sun.jersey.config.property.packages</value>
</key>
<value>com.mycompany.ws.resource</value>
</entry>
<entry>
<key>
<value>contextConfigLocation</value>
</key>
<value>classpath:applicationContext.xml</value>
</entry>
</map>
</property>
</bean>
</list>
</property>
Run Code Online (Sandbox Code Playgroud)
我按照这里的说明:http://blogs.oracle.com/enterprisetechtips/entry/jersey_and_spring …
例如,如果我有一个java命令行程序,它产生一个新线程(线程#2)进行一些轮询,然后睡5分钟.程序的主线程(线程#1)正在运行,然后在线程#2启动5分钟之前完成,所以程序将退出.这有什么问题吗?我应该在这个程序的主函数结束之前中断线程#1中的线程#2吗?