我有自己的日志记录引擎,它将日志写入带有阻塞队列的单独线程.为了使用"标准软件",我正在考虑切换到log4j.
我不希望我的高度并发软件被日志命令放慢速度,这些日志命令将所有内容写入磁盘,就像调用命令一样.可以将log4j用作垃圾箱吗?
我使用maven自动安装的junit.当我运行maven测试时,我的测试工作正常.但是当我调用Eclipse JUnit测试时,它不使用当前版本的测试类.
例如,如果我将a更改 assertTrue()
为a,assertFalse()
我会得到相同的结果.这真让我抓狂.
项目的自动构建已启用.为什么JUnit会使用一些旧垃圾?
谢谢您的帮助.maven clean和eclipse clean解决了这个问题.奇怪的...
我刚看到目录观察者java 7的一个很棒的功能.它会在没有轮询目录的情况下告诉您目录中发生了什么变化.
1.)但它表示,如果文件系统不支持注册更改事件,它将回退到轮询.所有典型的linux和Windows文件系统(extX,ntfs,reiserXXX,jsf,zfs)是否都支持此功能?
2.)重命名目录中的文件是创建还是更改事件?或者是一个删除和一个创建?我可以在一个系统上测试它,但它对所有文件系统都是一样的吗?
我有一个Jboss,Seam,Hibernate和h2的应用程序.我写了一个简单的操作,用于从外部文件将数据导入数据库.
@Name("importAction")
@AutoCreate
@Scope(ScopeType.CONVERSATION)
@Transactional
public class ImportCosAction extends AbstractAction {
saveOrUpdate(member);
protected void saveOrUpdate(AbstractEntity entity) {
final Session session = getSession();
session.saveOrUpdate(entity);
flushSession();
}
Run Code Online (Sandbox Code Playgroud)
它按预期的数量工作,但是,在某些时候我得到以下异常:
16:50:13,558 ERROR [JDBCExceptionReporter] Connection is not associated with a managed connection.org.jboss.resource.adapter.jdbc.jdk5.WrappedConnectionJDK5@3c4b0529
16:50:13,558 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2688)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) …
Run Code Online (Sandbox Code Playgroud) 我不太确定如何制定这个问题,所以请随时告诉我,我在想完全错误.
我想用JdbcTemplate
和TransactionTemplate
.我开始通过初始化我的连接池作为数据源并创建一个事务管理器作为数据源以及?
BoneCPConfig connectionPoolConfig = new BoneCPConfig();
connectionPoolConfig.setJdbcUrl(...);
connectionPoolConfig.setUsername(...);
connectionPoolConfig.setPassword(...);
connectionPoolConfig.setMinConnectionsPerPartition(...);
connectionPoolConfig.setMaxConnectionsPerPartition(...);
dataSource = new BoneCPDataSource(connectionPoolConfig);
DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
definition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource);
Run Code Online (Sandbox Code Playgroud)
但现在我想创建我的TransactionTemplate和JdbcTemplate:
transactionTemplate = new TransactionTemplate(transactionManager);
JdbcTemplate jdbc = new JdbcTemplate(transactionManager.getDataSource());
Run Code Online (Sandbox Code Playgroud)
现在mulitple线程访问transactionTemplate
和jdbc
.此代码是否保证所有内容都doInTransaction
使用相同的连接进行所有jdbc调用?
连接是否以某种方式在内部链接,因为它看起来好像JdbcTemplate和TransactionTemplate可以使用他们想要的连接.我的代码是正确的/保存吗?
我试图用JDBC编写一个独立于数据库的应用程序.我现在需要一种从某些表中获取前N个条目的方法.我看到setMaxRows
JDBC中有一个方法,但我觉得使用它并不舒服,因为我害怕数据库会推出所有结果,只有JDBC驱动程序会减少结果.如果我需要在具有十亿行的表格中获得前5个结果,这将打破我的脖子(该表具有可用的索引).
为每种类型的数据库编写特殊的SQL语句并不是很好,但是会让数据库做出聪明的查询计划并停止获取超出必要的结果.
我可以依靠setMaxRows
告诉数据库不起作用吗?
我想在最糟糕的情况下,我不能依赖于希望的方式工作.我最感兴趣的是Postgres 9.1和Oracle 11.2,所以如果有人有这些数据库的经验,请向前迈进.
从dbms我得到的东西像<font color="red"> abc</font>
.当它到达${someManagedBean.someValue}
我的xhtml文件时,输出被清理.对于99,999%的案例来说,这是非常好的.
问题:有没有办法禁用此自动转义?
奖金问题:我可以只允许html并禁止使用javascript吗?
我想测试我的代码,但我注意到一些业务逻辑类需要很多具有很多状态的对象.但实际上这些类之间的通信仅限于1或2种方法.
如果我使用这两种方法创建一个接口并且在我的测试中创建一个什么都不做的模拟对象,这是不错的风格?
然后代码会有更多不需要的接口,这就是为什么我不确定这是不是一个好主意?
我正在使用Maven和Assembly插件,并希望为tar文件设置用户和组.
我可以设置每个目录的访问权限,但没有设置用户这是没用的.
有任何想法吗?
我使用JAXB和Maven从xsd生成java文件.很好地工作,但我的项目有警告,因为生成源代码不符合代码风格的期望.
对于放置在单独源文件夹中的这些生成的源文件,禁用警告的最简单方法是什么?
java ×8
database ×2
jdbc ×2
junit ×2
maven ×2
build ×1
coding-style ×1
concurrency ×1
directory ×1
eclipse ×1
h2 ×1
hibernate ×1
interface ×1
java-7 ×1
javascript ×1
jaxb ×1
jboss ×1
jboss5.x ×1
jdbctemplate ×1
jsf ×1
jsp ×1
log4j ×1
logging ×1
m2eclipse ×1
monitoring ×1
oracle ×1
postgresql ×1
registration ×1
sonarqube ×1
spring ×1
testing ×1
warnings ×1
xss ×1