我有1000个专用的Java线程,每个线程每秒轮询一个相应的url.
public class Poller {
public static Node poll(Node node) {
GetMethod method = null;
try {
HttpClient client = new HttpClient(new SimpleHttpConnectionManager(true));
......
} catch (IOException ex) {
ex.printStackTrace();
} finally {
method.releaseConnection();
}
}
}
Run Code Online (Sandbox Code Playgroud)
线程每一秒运行一次:
for (int i=0; i <1000; i++) {
MyThread thread = threads.get(i) // threads is a static field
if(thread.isAlive()) {
// If the previous thread is still running, let it run.
} else {
thread.start();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我每隔一秒运行一次该作业,我会得到如下随机异常:
java.net.BindException: Address already in use …Run Code Online (Sandbox Code Playgroud) 我正在使用JPA和Spring.如果我让Spring处理事务,那么假设EntityManager已正确注入DAO,这就是我的服务层的样子:
MyService {
@Transactional
public void myMethod() {
myDaoA.doSomething();
myDaoB.doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我要手动执行事务,我必须确保将EntityManager的实例传递到事务中的每个DAO中.任何想法如何更好地重构?我很难做新的MyDaoA(em)或将em传递给每个DAO方法,如doSomething(em).
MyService {
private EntityManagerFactory emf;
public void myMethod() {
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
MyDaoA myDaoA = new MyDaoA(em);
MyDaoB myDaoB = new MyDaoB(em);
try {
tx.begin();
myDaoA.doSomething();
myDaoB.doSomething();
tx.commit();
} catch(Exception e) {
tx.rollback();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我在/Users/joe/.scala/lib下面有以下jar:
commons-codec-1.4.jar
httpclient-4.1.1.jar
httpcore-4.1.jar
commons-logging-1.1.1.jar
httpclient-cache-4.1.1.jar
httpmime-4.1.1.jar
Run Code Online (Sandbox Code Playgroud)
下面是我用scala编写的test.sh.
#!/bin/sh -v
L=`cd /Users/joe/.scala/lib;pwd`
cp=`echo $L/*.jar|sed 's/ /:/g'`
echo $cp
exec scala -classpath $cp $0 $@
!#
println(new org.apache.commons.httpclient.HttpClient())
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
$ ./test.sh
#!/bin/sh -v
L=`cd /Users/joe/.scala/lib;pwd`
cd /Users/joe/.scala/lib;pwd
cp=`echo $L/*.jar|sed 's/ /:/g'`
echo $L/*.jar|sed 's/ /:/g'
echo $cp
/Users/joe/.scala/lib/commons-codec-1.4.jar:/Users/joe/.scala/lib/commons-logging-1.1.1.jar:/Users/joe/.scala/lib/httpclient-4.1.1.jar:/Users/joe/.scala/lib/httpclient-cache-4.1.1.jar:/Users/joe/.scala/lib/httpcore-4.1.jar:/Users/joe/.scala/lib/httpmime-4.1.1.jar
exec scala -classpath $cp $0 $@
/Users/joe/Desktop/scala/./test.sh:7: error: object httpclient is not a member of package org.apache.commons
println(new org.apache.commons.httpclient.HttpClient())
^
one error found
Run Code Online (Sandbox Code Playgroud)
但是,没有任何类路径依赖关系的简单工作虽然:hello.sh
#!/bin/sh
exec scala "$0" "$@"
!#
println(new java.util.Date())
Run Code Online (Sandbox Code Playgroud)
知道我在第一个例子中做错了什么吗?或者,在使用scala脚本时,设置类路径依赖关系的最佳方法是什么?
<form method="POST" action="auth/signin">
Username: <input name="username" type="text" value=""/>
Password: <input name="password" type="password" value=""/>
<a href="auth/signin">Log In</a>
</form>
Run Code Online (Sandbox Code Playgroud)
如何在单击"登录"链接时发布参数(而不是使用提交按钮)?
我有一个本地商店中的用户列表,我需要每隔一段时间从远程用户列表更新.基本上:
例如.远程列表:用户(1,真),用户(2,真),用户(4,真),用户(5,真)
本地列表:用户(1,真),用户(2,假),用户(3,真),用户(6,真)
新的本地列表:用户(1,真),用户(2,真),用户(3,假),用户(4,真),用户(5,真),用户(6,假),
只是一个同步本地列表的简单案例.有没有更好的方法在纯Java中执行此操作而不是以下?我觉得自己很难看自己的代码.
public class User {
Integer id;
String email;
boolean active;
//Getters and Setters.......
public User(Integer id, String email, boolean active) {
this.id = id;
this.email = email;
this.active = active;
}
@Override
public boolean equals(Object other) {
boolean result = false;
if (other instanceof User) {
User that = (User) other;
result = (this.getId() == that.getId());
}
return result;
}
}
public static void main(String[] args) {
//From 3rd party
List<User> …Run Code Online (Sandbox Code Playgroud) 我需要将config.yaml文件中的字符串$ ssh_private_key_contents替换为实际的ssh私钥内容(键的每一行用\n分隔).
$ssh_private_key_contents="-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAvx9xuVc8eq2ug7OgUKQHO2YNgw2qxPN6HyAVRtCb6E8rolnI\nuSnE/CxuNMk1E4+oD+qkL772FXgL656DvKTnXpz3pySFj/KppNmm3chmMQGcXqyV\nQcYyXy/vpKgh4gBYmEi5IM9ksDtAby2OPD089w3gOVFhgvg5307pW4o5ccbmBUub\nB1QNvWYiCB7Po8FLVHq+a5f2bg1ui1IY10F93ej555Bzg/woE9jqPGKBL9iWV0M4\nulUVW42Q4V0lJiyFo724KD30N6zymMQ4SMWExW3BmJRWGtyvWY8hTxHKiuToyywF\nga5AxWaApg/+0T1CKBgypfviOacaKg5PYt050wIDAQABAoIBAH0L1r18HT7q6haT\nbR215GFxqP+I7qVD5C//LsyRaqB5RERJ2DGF6bNQYp640rhEsqIPVHNEzv9G9w2n\nPewsPJFDxCkglR6Ul3gbS7kqB+qicivjYRiS05xB4dpqgxi6Pz0Lv8x+xRMlAUh8\nluZE7uF5u63k2Bb3z+2SVM4mxuTwKpqPmcex/kuHDUdEq0FgHLpBFxXpUwoPjb1J\nCH5RwpU/VVSaEWws2UauXFPYNUJVY0aGPm4id2k3gBWTpvV8ATjw33cgvx13hD+8\nT98tMzAw6Tv6N6gIhrrmWNAA42CcfMxgrfVM6OxhaNkMk7/FaodEBNTMZnwMuvQt\nOyimXbkCgYEA7Ybh2REvjWuZ3xXOe4ei+SmF5f7+XyGwZBbmVWTEzi1Wozhf16Wx\nFkGk5JcnVn/Pl1rfXPBFyrb7D2joe1SQUVY4CK1gVnO2WgAziOVg3Yq9p6hG0m7O\nXLoMckN4Ekt97x4pXmKrfSDuIYTlM0DELtST5MrMSFaVmxLXDce4708CgYEAzfyq\nY9UIYBIlhkJ3GLMA22MAKDYNjuVTHQqOoZsDCUkqr1r+lvKGYblqr5s70R/FbTjJ\n00wa7KYGCnz6D26qMD/TZ319ySTyY4M64GIswFHt/J6H8RgTRgXyv3AI0Yv41T1t\nxQzhO9cuCkbuw99ejDbr/VL14niXysbOkLUDjD0CgYAdvqljtHo+/H2NaT6tS4QG\nLcP91Fvob+CV+CQqB2953kWeNP4TlEVD4z6R/bfIZkMJ0jBshA5JX3a7LEkIwMM9\n3E0yEPwid2UbijDp8Meblrc/Wpxb19Jx3D6YxIgxylBf9Gf70OFmzwvjGLBXJcIr\nlyVaHmdMm8MqY0aZDCzFkwKBgBmPNIVWtcdV+RoDvUtvSrfuPOLAckY85mdAHBqp\nZWMNlSJVJCoOxeXyX+6SUIXOb2zyEvkJBH5Ay5cZkt2/WZbLFKxOwgDneLwoWHHn\nPK5QfDtQYIXl+t5BdrGScUWvHJ05FhnRU1FdjfTwgEgFu3Gijv3MAX6sgAlFSfRi\nwaHxAoGAfLSIH2rUBrVMjFkPsQY1Wg/8lAK0WqM5md19w3aSQREQw/eSAUgwNtw7\nUlDxeC8EfEM65BgqO1Oo3H8vabMRqd55L3Cb/Nb/tYKUG90DeBTOO8CC0RPtD2CS\nqNUWH8qPzaXEJ74ADUupv5ukkpA6zWVg9e4VNDG0cpwZmRBcSIY=\n-----END RSA PRIVATE KEY-----\n"
sed -i 's/$ssh_private_key_contents/'"$ssh_private_key_contents"'/g' config.yaml
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
sed: -e expression #1, char 81: unknown option to `s'
Run Code Online (Sandbox Code Playgroud)
我试图逃避/但不断收到更多错误.实际的配置文件包含需要填充的不同类型的此类字符串.
我有一个网址: http:// localhost:8080/myapp/discuss/voteup?id = 1
返回以下json:
{"vote":{"value":"100"}}
Run Code Online (Sandbox Code Playgroud)
我正在尝试进行JQuery Ajax调用以向网址发布投票.
$(function(){
$(".vote-up-post").click(function() {
var postId = $("#postId");
alert("Post Value" + postId.val());
$.ajax({
type: "GET",
url: "/myapp/discussions/voteup",
data: {'id': postId.val()},
dataType: "json",
success: function(response){
$(".post-votes-count").text("100");
},
error: function(response){
alert("Error:" + response);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
我得到以下弹出的第二条警报消息:
错误:[object XMLHttpRequest]
知道我错过了什么吗?