In this project you can fast publish your API and schedule task, dynamic edit you java class and add or remove jar !
java -jar jcoder-[version].war
and visit http://localhost:8080/ Login by name:admin password:adminyou can make a config file named coder.conf
#only localhost can visit Management background
host=localhost
# default port is 8080
port=8080
# home path .default is ~/.jcoder
#home=~/.jcoder
# mvn exepath , it is a full path like /home/maven/bin/mvn
maven=mvn
# log path
log=log/jcoder.log
now you can use it by : java -jar jcoder-[version].war -f=coder.conf
Of course you can take these by args :java -jar jcoder-[version].war --home=~/.jcoder --port=9090 --host=localhost
Click Test
->Create-Task
Code :
package org.nlpcn.jcoder.run.java;
import org.apache.log4j.Logger;
import org.nlpcn.jcoder.run.annotation.DefaultExecute;
import org.nutz.ioc.loader.annotation.Inject;
public class TestRun {
@Inject
private Logger log;
@DefaultExecute
public String defaultTest(String name) throws InterruptedException {
return "Hello Jcoder " + name;
}
}
select TaskType :
Active
and write some word to description now ClickSave
buttonnow you can use you api by : http://localhost:8080/api/TestRun?name=ansj
Click Test
->Create-Task
Code:
package org.nlpcn.jcoder.run.java;
import java.util.Date;
import org.apache.log4j.Logger;
import org.nlpcn.jcoder.run.annotation.DefaultExecute;
import org.nlpcn.jcoder.util.DateUtils;
import org.nutz.ioc.loader.annotation.Inject;
public class CronTest {
@Inject
private Logger log ;
@DefaultExecute
public void execute() throws InterruptedException {
Thread.sleep(10000L);
log.info(DateUtils.formatDate(new Date(), DateUtils.SDF_FORMAT));
}
}
select TaskType :
Active
and write some word todescription
Write Corn0/5 * * * * ?
now ClickSave
buttonnow your job every 5`s run once!
package org.nlpcn.jcoder.run.java;
import org.nlpcn.jcoder.run.annotation.Cache;
/**
* this is a api example
*
* @author ansj
*
*/
@Single(false) // default is true
public class ApiExampleAction {
@Inject
private Logger log ;
@Inject
private Dao dao ;
@Execute // publish this function to api !
// use url is
// http://host:port/[className]/methodName?field=value
// http//localhost:8080/ApiExampleAction/method?name=heloo&hello_word=hi
public Object function(HttpServletRequest req, HttpServerResponse rep, String name, @Param("hello_word") Integer helloWord) {
dosomething..
}
@DefaultExecute // publish this function to api !
//http://localhost:8080/ApiExampleAction?user.name=aaa&user.passowrd=bbb
//http://localhost:8080/ApiExampleAction/function2?user.name=aaa&user.passowrd=bbb
//more about http://www.nutzam.com/core/mvc/http_adaptor.html
@Execute(methods={"get","post"},restful=true, rpc=true) //methods default all , restufl,rpc default true
@Cache(time=10,size=1000,block=false) // time SECONDS , block if false use asynchronous
public Object function2(@Param("..") User user) {
dosomething..
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。