我是Hibernate的新手.
我试图编写一个小程序来将数据插入到mysql数据库服务器中.
这是我的程序的源代码:
private int insertRelateNew(int newId, List<DocSimilar> relateNews) {
Session session = HibernateUtils.currentSession();
Transaction tx = session.beginTransaction();
RelatedArticles relatedArticles = null;
try {
relatedArticles = new RelatedArticles();
for (DocSimilar doc : relateNews) {
ApplicationPK appPK = new ApplicationPK(newId,
(int) doc.getDocid());
relatedArticles.setApplicationPK(appPK);
relatedArticles.setRelated_score(doc.getPercent());
session.save(relatedArticles);
tx.commit();
session.flush();
}
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return newId;
}
Run Code Online (Sandbox Code Playgroud)
运行时,它插入成功但有时它抛出一个TransactionException.
这是异常控制台:
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:131)
at com.ant.crawler.dao.hibernate.SqlNewsPersistencer.insertRelateNew(SqlNewsPersistencer.java:56)
at com.ant.crawler.dao.hibernate.SqlNewsPersistencer.insertNews(SqlNewsPersistencer.java:40)
at com.ant.crawler.dao.hibernate.SqlPersistencer.store(SqlPersistencer.java:44)
at com.ant.crawler.core.AbstractCrawler.crawl(AbstractCrawler.java:186)
at com.ant.crawler.core.Worker.run(Worker.java:14)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at …Run Code Online (Sandbox Code Playgroud) 我编写了一个在服务器上运行的Java服务.
我使用JMX并jconsole监控来自myPC的服务.
为了连接,我必须将以下链接复制并粘贴到jconsole:
service:jmx:rmi://192.168.5.207:9999/jndi/rmi://192.168.5.207:9999/jmxrmi
Run Code Online (Sandbox Code Playgroud)
退出后jconsole,如果我想重新连接,我必须再次复制并粘贴链接.
有没有办法保存链接,jconsole以便我可以重用它?
或者你可以建议另一个远程监控工具.