我已经扩展FutureTask,从java.util.concurrent提供的回调来跟踪提交的任务的执行ExecutorService.
public class StatusTask<V> extends FutureTask<V> {
private final ITaskStatusHandler<V> statusHandler;
public StatusTask(Callable<V> callable, ITaskStatusHandler<V> statusHandler){
super(callable);
if (statusHandler == null)
throw new NullPointerException("statusHandler cannot be null");
this.statusHandler = statusHandler;
statusHandler.TaskCreated(this);
}
@Override
public void run() {
statusHandler.TaskRunning(this);
super.run();
}
@Override
protected void done() {
super.done();
statusHandler.TaskCompleted(this);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我看到的是,如果任务被提交,但最终排队等待cancel(true);任务 - run()方法仍然被调用 - 并且FutureTask.run()(可能)检查任务被取消并且不调用被包装的可调用对象.
我应该这样做吗
@Override
public void run() {
if(!isCancelled()) {
statusHandler.TaskRunning(this);
super.run();
}
}
Run Code Online (Sandbox Code Playgroud)
或者我还应该打电话super.run()?这两种方法在检查取消和做某事之间似乎容易受到竞争条件的影响......任何想法都会受到重视.
我正在尝试使用POST将数据上传到我的网络服务器,但有时cURL只是停顿并导致PHP无限期地使用100%CPU.
我正在使用下面的代码.
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $URL);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)');
curl_setopt($curl, CURLOPT_HEADER, true);
$page = curl_exec($curl);
curl_close($curl);
Run Code Online (Sandbox Code Playgroud)
任何有关导致或如何跟踪此问题的见解都会很棒.
我正在模拟服务器的重载,我收到此错误:
java.lang.OutOfMemoryError: unable to create new native thread
Run Code Online (Sandbox Code Playgroud)
我在这个页面http://activemq.apache.org/javalangoutofmemory.html中读过,我可以增加内存大小.但是我该怎么做?我需要修改哪个文件?我试图通过bin/activemq脚本传递参数,但没有运气.
我有这个数组从数据库中获取最后一个表.但是索引包含一个对象而不仅仅是一个字符串.
我需要从下面实现一些字符串操作才能获得部分table15
Array
(
[0] => stdClass Object
(
[table_name] => table15
[create_time] => 2009-11-24 13:10:04
)
)
Run Code Online (Sandbox Code Playgroud)
有什么建议?
编辑:
我正在使用ExtJs,我有点困惑.此数组是从以下PDO代码生成的:
$sql = "SELECT table_name, create_time FROM information_schema.TABLES WHERE table_schema = 'database_name' ORDER BY CREATE_TIME desc LIMIT 1";
$ostmt = $this->odb->query($sql);
return $ostmt->fetchAll(PDO::FETCH_OBJ);
Run Code Online (Sandbox Code Playgroud)
这将返回上面打印的数组.我不知道数组的名称,因为它是这样生成的......
还有其他想法吗?
非常感谢.
我正在寻找一个简单的命令行脚本/程序来自动"内联"html文件的所有外部css和javascript引用.我基本上想要创建一个适合通过电子邮件发送的自包含html文件.另外一个好处是,如果它还可以将图像作为数据内联:UIR,但这一部分并不那么重要.
我正在开发一个我希望使用OAuth的Twitter项目,但我不知道从哪里获取消费者和密钥.
我怎么能得到这些?
如何在设计时从我的WPF应用程序获取应用程序的目录?我需要在设计时访问应用程序当前目录中的资源,而我的XAML正在设计器中显示.我无法在设计时使用此问题中指定的解决方案,System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName)并System.Reflection.Assembly.GetExecutingAssembly().Location指向IDE的位置(Visual Studio ... Common7或其他东西).
根据要求进一步明确我的目标:我想在设计时访问数据库表并显示该数据的图形.设计是在Visual Studio 2008中完成的,所以我需要的是针对特定问题的非常具体的解决方案,即获取我的应用程序的程序集目录.
我无法编译我的程序!
我想我错过了一个大括号,但不能为我的生活看到哪里!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.lang.*;
import java.text.*;
import java.net.*;
import java.util.Scanner;
public class AddressBook extends JFrame
{
FlowLayout leftLayout;
JFrame frame;
JPanel panel;
JTextField txtname,txtsurname, txtphone, txtmobile, txtaddress, txtpostcode;
JButton btnadd, btnnext, btnprevious, btnsave, btndelete;
JLabel jlbname, jlbsurname, jlbphone, jlbmobile, jlbaddress, jlbpostcode;
String fileInput,readline;
ArrayList<String> arrayOfFile = new ArrayList<String>();
ArrayList<Contact> records = new ArrayList<Contact>();
int index = 0;
public static void main(String[] args) throws IOException
{
new AddressBook();
}
public AddressBook() …Run Code Online (Sandbox Code Playgroud) 我正在尝试用Hudson替换我们当前的Buildbot设置.我安装了git插件.我们目前的设置如下:
ssh://server:/repo/test_framework.git
ssh://server:/repo/project_a.git
Run Code Online (Sandbox Code Playgroud)
现在,为了构建,project_a我添加了一个包含多个git存储库的新作业(上面的那些).我希望Hudson将存储库克隆到不同的目录下$WORKSPACE,因为test_framework需要层次结构.但哈德森似乎将所有内容合并$WORKSPACE而来.从控制台日志:
warning: no common commits
...
[workspace] $ git merge-base ce14a4579e87971659e5e0469136713847055a29 96d2b3c27595de243702414c4358366923696d78
[workspace] $ git merge-base ce14a4579e87971659e5e0469136713847055a29 5bb011b3fa288afd5e4392640b32b8bcc982103e
[workspace] $ git merge-base ce14a4579e87971659e5e0469136713847055a29 aa6ade81669883909ba5f5459a205df1bd0df3c0
Run Code Online (Sandbox Code Playgroud)
我可以在Hudson中配置它以更好地适应我们的项目设置吗?我是否需要创建一个本地虚拟git存储库,每个项目都作为git子模块或其他东西?
如果我这样做,我只是很好奇.
NSString *fileContents;
NSError *fileError = nil;
fileContents = [[NSString stringWithContentsOfFile:fileOnDisk
encoding:NSMacOSRomanStringEncoding
error:&fileError] retain];
if(fileError != nil) {
NSLog(@"Error : %@", [fileError localizedDescription]);
}
// Other Code ...
[fileContents release];
Run Code Online (Sandbox Code Playgroud)
.
.
NSString *fileOnDisk = @"/Users/Gary/Documents/Xcode/RnD/Maya.MEL";
NSError *fileError; // Should this be *fileError = nil;
NSString *fileContents;
int status = 0;
fileContents = [[NSString stringWithContentsOfFile:fileOnDisk
encoding:NSMacOSRomanStringEncoding
error:&fileError] retain];
if(fileContents == nil) {
NSLog(@"FileError: %@", [fileError localizedDescription]);
status = 1;
} else {
NSLog(@"Success : %@", fileContents);
}
// Clean …Run Code Online (Sandbox Code Playgroud)