我想从命令行运行Zend Framework操作来生成一些文件.这是可能的,我需要对使用ZF的现有Web项目进行多少更改?
谢谢!
您是否建议在@Test方法中进行任何测试用例分组,或者每个测试方案都有一个@Test方法?例如,假设有不同的方法在应用程序中设置上下文.
以下想法是否可以接受?
@Test
public void testContextSetting() {
// Test default setting
assert(...)
// Test setting a context variable
assert(...)
...
}
Run Code Online (Sandbox Code Playgroud)
或者,您是否愿意建议像这样,让每个方法尽可能原子化:
@Test
public void textDefaultSetting() {
// Test default setting
assert(...)
}
@Test
public void testSettingContextVar() {
// Test setting a context variable
assert(...)
...
}
Run Code Online (Sandbox Code Playgroud)
对于任何反馈,我们都表示感谢.
为什么这个简单的查询返回'ORA-00936:missing expression'(数据库是Oracle,你可以告诉):
SELECT * FROM transactions WHERE id NOT LIKE '1%' AND NOT LIKE '2%'
Run Code Online (Sandbox Code Playgroud)
我觉得很傻,但我做错了什么?
我在preg_match()函数中遇到这个奇怪的错误:
警告:preg_match():编译失败:偏移量为54的字符类中的范围乱序
造成这种情况的原因是:
preg_match("/<!--GSM\sPER\sNUMBER\s-\s$gsmNumber\s-\sSTART-->(.*)<!--GSM\sPER\sNUMBER\s-\s$gsmNumber\s-\sEND-->/s", $fileData, $matches);
Run Code Online (Sandbox Code Playgroud)
这个正则表达式的作用是解析HTML文件,只提取以下部分之间的部分:
<!--GSM PER NUMBER - 5550101 - START-->
Run Code Online (Sandbox Code Playgroud)
和:
<!--GSM PER NUMBER - 5550101 - END-->
Run Code Online (Sandbox Code Playgroud)
您是否有关于可能导致此错误的提示?
我知道搞乱EJB中的线程是一个很大的禁忌,但我想就如何处理这种情况征求意见.我的EJB正在调用外部Web服务,有时可能会返回"忙"状态.当发生这种情况时,我想等待一段时间,然后使用与以前相同的数据重新提交请求.
实现这个的最佳方法是什么?
我尝试为类路径协议注册自定义URL处理程序,如另一个线程中所述.这是代码:
package com.mycompany;
import org.junit.Test;
import java.net.MalformedURLException;
import java.net.URL;
import com.mycompany.protocol.classpath.Handler;
public class ParserTest {
@Test
public void testParsing() throws MalformedURLException {
System.out.println(System.getProperty("java.protocol.handler.pkgs"));
//URL url = new URL(null, "classpath://com.mycompany/hello-world.xml", new Handler(ClassLoader.getSystemClassLoader()));
URL url = new URL("classpath://com.mycompany/hello-world.xml");
}
}
Run Code Online (Sandbox Code Playgroud)
测试用例具有以下JVM参数:
-Djava.protocol.handler.pkgs=com.mycompany.protocol
Run Code Online (Sandbox Code Playgroud)
该System.out.println
行正确输出com.mycompany.protocol
,因此正在设置属性.但是,看起来它没有生效,因为上面的调用会引发java.net.MalformedURLException: unknown protocol: classpath
异常.
如果我在注释行中显式提供处理程序,一切都很好.但是,我宁愿不明确地提供它 - 它应该自动完成.
我究竟做错了什么?
出于好奇,为什么有时在编译后为类生成多个Java .class文件?例如,我的应用程序有六个类.对于一个类,总共生成了10个.class文件,从MyClass#1开始到MyClass#10.
我有一个基于Java 6的Java Web Start应用程序,我需要在Windows机器上打开它.机器安装了JRE 7,手动将JRE 6复制到该Program Files
文件夹.问题在于,无论何时我想打开JWS应用程序,它都会使用Java 7打开.即使我使用javaws
JRE 6中的可执行文件,一些属性仍然引用JRE 7文件(我通过使用验证了这一点javaws -verbose app.jnlp
.我如何强制使用JRE 6仅适用于此应用程序?
我在Spring中异步调用方法时遇到麻烦,此时调用程序是一个从外部系统接收通知的嵌入式库.代码如下所示:
@Service
public class DefaultNotificationProcessor implements NotificationProcessor {
private NotificationClient client;
@Override
public void process(Notification notification) {
processAsync(notification);
}
@PostConstruct
public void startClient() {
client = new NotificationClient(this, clientPort);
client.start();
}
@PreDestroy
public void stopClient() {
client.stop();
}
@Async
private void processAsync(Notification notification) {
// Heavy processing
}
}
Run Code Online (Sandbox Code Playgroud)
的NotificationClient
内部具有在它接收到来自另一系统的通知的线程.它接受一个NotificationProcessor
构造函数,它基本上是将对通知进行实际处理的对象.
在上面的代码中,我将Spring bean作为处理器,并尝试使用@Async
注释异步处理通知.但是,似乎通知在与使用的通道相同的线程中处理NotificationClient
.实际上,@Async
被忽略了.
我在这里错过了什么?
您通常在哪里存储PL/SQL常量?在包体层面?在规范中?我也看到有些人只是为常量而在一个专门的包中保存常量.这方面的最佳做法是什么?
谢谢.