我试图使我的msf4j jar成为可运行的(公共类abcService实现Runnable,微服务)当我将jar部署到wso2 msf4j容器时,runnable部分不能作为“主线程”工作,并且“子线程”不显示在控制台上。
package test.msf4j.abc;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import org.wso2.msf4j.Microservice;
@Path("/abcService")
public class abcService implements Runnable, Microservice {
@GET
@Path("/greeting")
public String message() {
System.out.println("hello");
return "Hello World";
}
public void run() {
for (int i = 0; i < 3; i++) {
System.out.println("Child Thread ");
try {
Thread.sleep(200);
} catch (InterruptedException ie) {
System.out.println("Child thread interrupted! " + ie);
}
}
System.out.println("Child thread finished!");
}
public static void main(String[] args) {
Thread t = new Thread(new abcService ());
t.start();
for (int i = 0; i < 3; i++) {
System.out.println("Main thread ");
try {
Thread.sleep(200);
} catch (InterruptedException ie) {
System.out.println("Child thread interrupted! " + ie);
}
}
System.out.println("Main thread finished!");
}
}发布于 2018-02-27 04:42:00
我相信你想把你的问候服务作为一个服务器来运行,对吧?如果是这样的话,只需创建一个MicroservuceRunner并将您的服务的一个实例传递给它,然后运行它。您不必实现Runnable,请参考MSF4J repository中的helloworld示例
基本上,它应该如下所示
new MicroservuceRunner().deploy(new abcService()).start();https://stackoverflow.com/questions/48903281
复制相似问题