我不知道在哪里写点什么,并决定在这里做.
在调试我的程序后,我发现调用Driver.getConnection(字符串,字符串,字符串)会挂起调用线程.为什么(?),我真的不知道,但我发现这种情况发生在java 1.6.0_29而不是java 1.6.0_26.
完整的环境:
操作系统:在redhat 6.1和Windows 2008上进行了测试
驱动程序:MS SQL Server JDBC驱动程序版本3.0.1301.101
Java版本:1.6.0_26和1.6.0_29
正如我之前所说,它适用于1.6.0_26.
有没有人知道可能导致这种情况的原因是什么?也许有些开发者?:p
最好的祝福,
瑞
我定义了几个记录器和一个带有几个appender的根节,类似于:
<logger name="X" level="debug"/>
<logger name="Y" level="trace"/>
<logger name="Z" level="warn">
<appender-ref ref="ALERTS-SYSLOG" />
</logger>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
<appender-ref ref="BUFFER"/>
<appender-ref ref="SYSLOG"/>
</root>
Run Code Online (Sandbox Code Playgroud)
我想要完成的是,名为Z的记录器只能访问ALERTS-SYSLOG appender而不是根部分中定义的所有记录器.只有配置在XML文件上才可能吗?
我正在尝试使用动态实体的序列在EclipseLink中工作,我需要一些帮助.
我正在定义我的动态实体,如下所示:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
EntityManager em = emf.createEntityManager();
Session session = JpaHelper.getEntityManager(em).getServerSession();
DynamicClassLoader dcl = DynamicClassLoader.lookup(session);
Class<?> testClass = dcl.createDynamicClass("org.persistence.Test");
JPADynamicTypeBuilder test = new JPADynamicTypeBuilder(testClass, null, "TEST");
test.addDirectMapping("id", long.class, "T_ID");
test.setPrimaryKeyFields("T_ID");
test.addDirectMapping("col1", long.class, "T_COL1");
test.addDirectMapping("col2", int.class, "T_COL2");
test.addDirectMapping("col3", String.class, "T_COL3");
test.addDirectMapping("col4", String.class, "T_COL4");
test.addDirectMapping("col5", double.class, "T_COL5");
test.addDirectMapping("col6", double.class, "T_COL6");
DynamicHelper helper = new JPADynamicHelper(em);
helper.addTypes(true, true, test.getType());
Run Code Online (Sandbox Code Playgroud)
我注意到一切都是根据指定创建的.我试图寻找一些文档如何使用数据库序列,我注意到了JPADynamicTypeBuilder.configureSequencing(Sequence,String,String)方法.但我找不到任何关于如何做的例子.我玩弄了这个方法,我总是使用默认的排序策略,即一个名为SEQUENCE的表.
我尝试使用@GeneratedValue和@SequenceGenerator进行预编译实体,一切正常,所以我对动态实体做错了.
有谁知道我可能做错了什么?
这似乎无关紧要,但无论如何我告诉我的数据库是Oracle.
提前致谢,
瑞
问题:我需要在我的应用程序上抽象我的数据库交互.事情是JPA对我不起作用,因为表/模式是动态的,我只是在运行时知道它们.我想过动态创建类,但我正在研究这种方法的性能问题,因为每次插入都会导致使用反射实例化类.我考虑过使用XML进行建模,但似乎也很慢并且有点难以管理.
我在找什么?我正在寻找一些我不需要映射到对象的中间层语言(类似于JPQL [Java持久性查询语言]).一些使用select子句抽象模式/目录和表创建以及查询的语言.
提前致谢.
我想要完成的是以下内容:
我有一个具有以下结构的服务器.
bin apis services etc...
我想定义一个包含服务使用方面的API.说:
@Aspect
public class AuthorizationAspect {
@Pointcut("call(* *()) && @annotation(Authorization)")
public void cutAuthorize() { }
@Before("cutAuthorize()")
public void callFromAuthorizeBefore() {
System.out.println("Test");
}
}
Run Code Online (Sandbox Code Playgroud)
然后我定义服务并使用@Authorization注释我想要的方法,并通过该方面获得切入点.
你应该知道的事情:
我的问题是,我该怎么做?如何定义我的maven工件来实现这一目标?
我注意到aspectj插件有一个weaveDependencies部分,但是这也将在服务JAR中包含该API中的所有类(我想要避免的东西).这是正确的举动吗?
提前致谢,
瑞
我有一个小的独立应用程序,可将调度程序配置为正常终止。使用以下配置:
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setWaitForTasksToCompleteOnShutdown(true);
scheduler.setAwaitTerminationSeconds(60);
return scheduler;
}
Run Code Online (Sandbox Code Playgroud)
我可以让它正常终止调度程序,但前提是我没有任何@Scheduled(cron =)任务。一旦有了其中之一,无论什么调度程序都会卡住,直到超时。我已经尝试过使用执行器配置它,并手动执行shutdown / await,效果完全一样。
这些cron作业甚至没有运行。例如,它们设置为在夜间的固定时间运行。
春季版本:4.2.8.RELEASE
这将在超时结束时发生:
2017.07.28 01:44:56 [Thread-3] WARN Timed out while waiting for executor 'taskScheduler' to terminate
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?