我正在使用带有区间分区的oracle 11表,并像这样列出子分区(简化):
CREATE TABLE LOG
(
ID NUMBER(15, 0) NOT NULL PRIMARY KEY
, MSG_TIME DATE NOT NULL
, MSG_NR VARCHAR2(16 BYTE)
) PARTITION BY RANGE (MSG_TIME) INTERVAL (NUMTOYMINTERVAL (1,'MONTH'))
SUBPARTITION BY LIST (MSG_NR)
SUBPARTITION TEMPLATE (
SUBPARTITION login VALUES ('FOO')
, SUBPARTITION others VALUES (DEFAULT)
)
(PARTITION oldvalues VALUES LESS THAN (TO_DATE('01-01-2010','DD-MM-YYYY')));
Run Code Online (Sandbox Code Playgroud)
如何在不知道子系统的(系统生成的)名称的情况下删除特定月份的特定子分区?有一个语法"alter table ... drop subpartition for(subpartition_key_value,...)"但我没有看到指定我删除子分区的月份的方法.该分区管理指南没有给出任何的例子,无论是.8}
当我进行JUnit测试时,我希望调试器能够在测试代码中出现任何异常的位置停止,以便测试失败,以便检查错误.是否有可能配置IntelliJ的调试器来做到这一点,而不是打破其他异常?
如果我在任何未捕获的异常上设置了异常断点,那么这不起作用,因为JUnit捕获了异常.如果我尝试使用catch类org.junit对捕获的异常进行断点中断,那也不起作用,因为异常在Javas反射机制到达JUnit之前被Javas反射机制捕获并包装.所以我在这里有点不知所措 - Eclipse只是停在原来的例外.
澄清:我在讨论代码I测试中的异常或从那里调用的代码,而不是测试中的断言失败.例如,考虑以下测试:
@Test
public void thisShouldBreak() {
int i = 25 - 25;
int j = 17 / i;
}
private void neverBreakHereSinceThisIsCaught() {
int i = 14 - 14;
int j = 29 / i;
}
@Test
public void thisShouldNotBreak() {
try {
neverBreakHereSinceThisIsCaught();
} catch (ArithmeticException e) {
// ignored or handled
}
}
@Test
public void thisShouldNotBreakEither() {
try {
getClass().getDeclaredMethod("neverBreakHereSinceThisIsCaught").invoke(this);
} catch (Exception e) {
// ignored or handled
}
}
Run Code Online (Sandbox Code Playgroud)
我希望IntelliJ thisShouldBreak …
您有什么选择在EAR中的WAR之间进行通信?我们有几个WAR提供在一个EAR中部署的不同Web服务.对于他们的任务,他们需要与其他WAR进行通信.当然,他们可以使用webservices进行通信.还有哪些其他可能更有效的选择?
编辑:沟通的原因是模块使用一些共享功能,我们只想在一个地方找到这个功能,因为它需要大量的资源.而且,这需要同步通信.
在我们的项目中,我们必须将一个嵌套的bean结构映射到另一个.(这些实际上是JAXB映射的XML文档的Java表示,例如,表示传入的订单文档.)这必须映射到另一个系统的完全不同的订单文档结构.
有什么选择呢?我更喜欢满足以下要求的东西:
一个有前途的框架是Dozer,但它不能满足1和4.与JBeanMapper相同.用Java编程只需4个但不是其他要求; 使用XSLT可能实现2但没有别的.你有更好的想法吗?
在用grep等分析了几千兆字节的日志文件之后,我想知道如何通过使用数据库来记录这些内容,从而使这更容易.什么数据库适合这个purpuse?当然,vanillia SQL数据库可以工作,但提供了许多事务保证等,这些都是您不需要的,如果您使用数GB的数据和非常快的插入速率,这可能会使速度变慢.所以NoSQL数据库可能是正确的答案(比较一些建议的答案).数据库的一些要求是:
更新:已经存在一些SO问题:数据库建议用于处理/报告大量日志文件类型数据以及什么是用于审计/日志记录数据库的良好NoSQL和非关系数据库解决方案.但是,我很好奇哪些数据库满足哪些要求.
我们在tomcat 6中使用Oracle UCP驱动程序(Oracle通用连接池).它或多或少像Oracles Howto一样配置.问题是驱动程序启动了很多线程(Thread-0到57,UCP-worker-thread-1到24),这些线程在服务器关闭时没有停止 - tomcat会发出大量错误消息,如下所示:
Web应用程序[/ xxx]似乎已启动名为[Timer-17]的线程,但未能将其停止.这很可能造成内存泄漏.
知道怎么处理这个吗?
Spring有一个很好的机制PropertyPlaceholderConfigurer,用于将诸如超时,JDBC Urls等值注入Spring bean以进行配置.是否有一种合理的方法来处理可在运行时更改的配置值?
更新:使用Spring 3.1,有一种很好的方法可以通过PropertySource包含非静态配置源,例如数据库.一些ApplicationContexts提供了一种原则上能够处理不断变化的配置值的刷新机制.然而,它首先停止应用程序,然后创建所有bean新鲜,然后再次启动应用程序上下文.但是,出于我们的目的,我需要一种透明地执行此操作的方法,以便服务器正确处理当前正在运行的请求.
执行此操作的另一个想法是在配置更改时创建新对象的自定义Scope.遗憾的是,提供给Scope的ObjectFactory使用了预处理的bean定义,因此不会从配置中重新读取占位符.因此,创建的对象具有相同的配置.:-(
Oracle SQL Developer-3.2.20在哪里存储连接?
它曾经是在IDEconnections.xml但在最新版本中我没有看到这个文件.
在Java中,您可以"捕获"对象的"方法调用"作为Runnable,如下例所示.
之后,有权访问Runnable的这个实例,是否可以实际访问"捕获"对象和被调用方法的方法参数(如果可能,这可能需要通过反射来完成).
例如:
class SomePrintingClass {
public void print(String myText) {
System.out.println(myText);
}
}
public class HowToAccess {
public static void main(String[] args) throws Exception {
final String myText = "How to access this?";
final SomePrintingClass printer = new SomePrintingClass();
Runnable r = () -> printer.print(myText); // capture as Runnable
inspect(r);
}
private static void inspect(Runnable runnable) {
// I have reference only to runnable... can I access "printer" here
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以在"inspect"方法中访问(可能通过反射)"printer"对象和作为参数传递的"myText"?
我正在寻找一个切入点来匹配类中的方法执行,这些类将类与特定的注释子类化.优秀的AspectJ备忘单帮我创建了以下切入点:
within(@my.own.annotations.AnnotationToMatch *) && execution(* *(..))
Run Code Online (Sandbox Code Playgroud)
这匹配带有@AnnotationToMatch的类A的所有方法调用,但不匹配扩展A的类B的方法.如何匹配两者?
java ×5
oracle ×3
aop ×1
aspectj ×1
database ×1
deployment ×1
java-8 ×1
java-ee ×1
javabeans ×1
junit ×1
lambda ×1
logging ×1
mapping ×1
nosql ×1
oracle11g ×1
partitioning ×1
properties ×1
reflection ×1
spring ×1
tomcat ×1
tomcat6 ×1
ucp ×1
web-services ×1