在Java中,我已经能够在我的应用程序中嵌入*jetty服务器,但是.Net是否有等效的嵌入式*服务器技术?
如果可能的话,开源(FLOSS)将是首选.
*通过嵌入式我的意思是一个轻量级的Web服务器应用程序,可以与我的应用程序打包并在用户的本地桌面计算机上运行,以在本地提供Web服务.
澄清:这个问题是关于GZIPping基于JAX-WS的REST服务,但我决定改变主题以便更容易找到
我正在通过JAX-WS实现REST服务Provider <Source>,并使用标准发布它Endpoint(原因是我想避免使用servlet容器或应用程序服务器).
有没有办法使服务器gzip响应内容,如果Accept-Encoding: gzip存在?
nicore实际提供的示例工作,它允许您在没有servlet容器的嵌入式轻量级服务器之上制作JAX-RS样式的服务器,但是几乎没有时间可以考虑.
如果您希望自己管理类(并在启动期间节省时间),则可以使用以下命令:
JAX-RS你好世界级:
@Path("/helloworld")
public class RestServer {
@GET
@Produces("text/html")
public String getMessage(){
System.out.println("sayHello()");
return "Hello, world!";
}
}
Run Code Online (Sandbox Code Playgroud)
主要方法:
对于简单服务器:
public static void main(String[] args) throws Exception{
DefaultResourceConfig resourceConfig = new DefaultResourceConfig(RestServer.class);
// The following line is to enable GZIP when client accepts it
resourceConfig.getContainerResponseFilters().add(new GZIPContentEncodingFilter());
Closeable server = SimpleServerFactory.create("http://0.0.0.0:5555", resourceConfig);
try {
System.out.println("Press any key to stop the service...");
System.in.read();
} …Run Code Online (Sandbox Code Playgroud) 我在嵌入式服务器上为自己的集成测试运行maven war项目没有任何问题,但现在我需要运行多个战争并从另一个项目进行测试.
我想设置以下方案......
我在我的本地工作区中有两个Maven war项目,名为War1和War2.我想有一个第3个Maven项目WarIntegration,它只包含集成测试并执行以下操作:
这可能吗?什么插件设置将实现这一目标?WarIntergration应该是什么类型的项目(包装)?War1和War2应该是WarIntegration或依赖项中的模块吗?是否所有配置都可以用于WarIntegration项目,还是必须分布在项目中?
这类似于这个问题,除了我们必须使用由项目启动和停止的嵌入式服务器(可能在我们运行验证时),我们需要一个单独的项目进行集成测试: 我有一个多模块Maven 2 POM,两个WAR,如何配置它以在运行测试之前部署两个战争?
integration-testing maven embedded-server maven-failsafe-plugin
我有这样的情况,我在运行嵌入式服务器的代码和我的Web应用程序之间共享单例.我有类和部署工具的战争.当我printf实例时,我看到:
abc.Abc@173a10f
abc.Abc@105738
Run Code Online (Sandbox Code Playgroud)
所以这不是单身人士.这是怎么回事?
我的服务器Jetty启动代码:
public static void main(String[] args) throws Exception
{
System.out.println(MySingleton.getInstance());
// start Jetty here and deploy war with WebAppContext()
}
Run Code Online (Sandbox Code Playgroud)
我的ServletContextListener旁边代码:
public class AppServletContextListener implements ServletContextListener{
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println(MySingleton.getInstance());
}
}
Run Code Online (Sandbox Code Playgroud)
我的单身人士:
public class MySingleton {
private static MySingleton INSTANCE = new MySingleton();
private MySingleton () {}
public static MySingleton getInstance() {
return INSTANCE;
}
}
Run Code Online (Sandbox Code Playgroud)
我在构造函数中强制异常.看起来我有两个不同.
java.lang.Exception
at api.MySingleton.<init>(MySingleton.java:33)
at api.MySingleton.<clinit>(MySingleton.java:22)
at my.project.StartJetty.main(StartJetty.java:41)
java.lang.Exception
at api.MySingleton.<init>(MySingleton.java:33)
at api.MySingleton.<clinit>(MySingleton.java:22)
at …Run Code Online (Sandbox Code Playgroud) 有谁知道一个简单的telnet服务器?
我想嵌入我的应用程序并设置我自己的命令简单而不复杂.