标签: jetty-8

Spring 3.1 WebApplicationInitializer和Embedded Jetty 8 AnnotationConfiguration

我正在尝试使用Spring 3.1和嵌入式Jetty 8服务器创建一个没有任何XML配置的简单webapp.

但是,我正在努力让Jetty认识到我对Spring WebApplicationInitializer接口的实现.

项目结构:

src
 +- main
     +- java
     |   +- JettyServer.java
     |   +- Initializer.java
     | 
     +- webapp
         +- web.xml (objective is to remove this - see below).
Run Code Online (Sandbox Code Playgroud)

上面的Initializer类是WebApplicationInitializer的一个简单实现:

import javax.servlet.ServletContext;
import javax.servlet.ServletException;

import org.springframework.web.WebApplicationInitializer;

public class Initializer implements WebApplicationInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        System.out.println("onStartup");
    }
}
Run Code Online (Sandbox Code Playgroud)

同样JettyServer是嵌入式Jetty服务器的简单实现:

import org.eclipse.jetty.annotations.AnnotationConfiguration;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.Configuration;
import org.eclipse.jetty.webapp.WebAppContext;

public class JettyServer {

    public static void main(String[] args) throws …
Run Code Online (Sandbox Code Playgroud)

java jetty spring-mvc embedded-jetty jetty-8

33
推荐指数
3
解决办法
3万
查看次数

是否可以在打开websocket连接时发送数据

我正在实现一个Jetty Websocket servlet.当服务器收到新连接时,我想发送一条消息,该消息将由websocket的onopen函数读取.我希望此消息仅在打开期间发送,而不是使用常规connection.SendMessage()函数.有可能吗?如何?

html5 websocket jetty-8

24
推荐指数
2
解决办法
1万
查看次数

码头部署订单

我使用ContextAppProvider在jetty 8.1.4中部署了多个战争.我们想要指定战争应用程序的部署顺序,因为我们有一些战争依赖于其他战争.

那么如何在jetty中设置特定的部署顺序

deployment jetty web-deployment jetty-8

8
推荐指数
1
解决办法
376
查看次数

停用Jetty的默认404错误处理程序

我想在我的Spring 3.1 Web应用程序中提供自定义404错误页面,但我无法停用Jetty 8的默认404错误页面.

开箱即用的Jetty 8提供了一个默认的404错误页面:当访问Jetty托管的网站,并提供一个不由任何servlet处理的URL路径时(例如通过访问http://www.example.com/nonexisting),Jetty响应有自己的默认HTML错误页面:

HTTP ERROR 404

Problem accessing /nonexisting. Reason:

    Not Found
Powered by Jetty://
Run Code Online (Sandbox Code Playgroud)

要替换此默认行为,

但我的网站仍然返回Jetty自己的默认HTML错误页面.

Jetty 8的官方文档讨论了如何设置"自定义错误页面",但有人建议

  • 配置自定义Jetty错误处理程序(我不想这样做,我想在我自己的Spring中执行它@Controller,如上所述)
  • 创建"捕获所有上下文并创建映射到/URI 的"根"Web应用程序." (我不想这样做,因为我web.xml已经将Spring MVC映射DispatcherServlet到/.

如何关闭Jetty的默认错误处理程序并按照上面的指示完成错误处理?

web.xml jetty spring-mvc jetty-8

8
推荐指数
1
解决办法
1万
查看次数

Jetty如何使用具有不同依赖关系的相同类处理类加载?

我想知道当多个依赖路径可以导致同一个类时jetty如何处理.

例如,

Jetty预装了JSTL-1.2,但我添加了一个依赖项来加载JSTL-1.2.4.在编译时,如果我在断点测试它在eclipse中下载源代码,它会在1.2.4版本中断.

我想知道哪个版本将被传递以生成JSP的字节代码,当有两个版本的类时,比如依赖一些基类JstlCoreTlv(一个预打包,即带有jetty的JSTL 1.2和一个从maven依赖传递的基类)1.2.4)

简而言之,我想知道码头是如何做到的.我想知道jetty如何优先考虑预先打包和后来添加的依赖项.即使版本比预先打包的版本旧,它是否会覆盖并引用添加的依赖项?

在这方面我从码头文件中得不到多少.非常感谢帮助

java dependency-injection jstl jetty jetty-8

8
推荐指数
1
解决办法
845
查看次数

Jetty 8中的默认配置是否适用于负载很重的Web应用程序?

它决定部署一个应用程序到Jetty 8,之前使用的是Tomcat 7. Jetty 8正在使用默认值,似乎工作正常,但随后偶尔等待连接,看着jetty.xml我很困惑关于线程和连接器之间的相互作用.

但一般的问题是,默认设置是否适用于负载很重的Web应用程序,还是需要进行明显的更改?

更新 让我尝试更具体地说明这一点.

在jetty.xml中,它表示maxThreads = 200,因此它理论上可以并行处理200个请求(比我们必须处理的要多),但是有一个关于应该配置多少内存jetty的经验法则.

它还定义了一个SelectChannelConnector连接器,我认为这是接收请求并将它们移植到线程的东西.这个连接器是我们可用的最佳性能吗?

java performance default jetty jetty-8

7
推荐指数
1
解决办法
720
查看次数

如何在Jetty上使用JASPI/JASPIC?

在Jetty的主项目页面上提到了与JASPI(JASPIC/JSR 196)的兼容性.

但是,Jetty 8分发似乎不包含任何与JASPI相关的类.jetty-security-8.1.8.v20121106.jar[jetty home]/lib中有一个jar,但是这个jar不包含任何JASPIC/JASPI类型.

Jetty wiki上有关JASPIC/JASPI文档只是一个占位符,不包含任何信息.

一些谷歌搜索后,我发现在Eclipse网站的JavaDoc,发现应该有一个 码头,jaspi-8.1.8.v20121106.jar 地方.这些JavaDocs也包含在发行版中.最后,一个码头jaspi回购出现在Github.

显然有一些可用的支持,但为什么这些类似乎不存在于Jetty发行版中,以及有关如何配置它的文档在哪里?我错过了什么?

java jetty java-ee jetty-8 jaspic

6
推荐指数
1
解决办法
1546
查看次数

Jetty 8 vs Jetty 9用于生产环境

我们目前正在将Jetty 8用于提供低延迟流量的生产环境.我们想知道如果我们有一个非常低的延迟要求,那么迁移到码头9会有什么好处.

谢谢!

jetty jetty-8

6
推荐指数
1
解决办法
3976
查看次数

运行 mvn org.mortbay.jetty:jetty-maven-plugin:run 时出现“打开文件过多”异常

在我的一个项目中,我使用了 Lift 2.5 M4 和 Scala 2.10.0。在这个项目中,我使用的是Jetty 8.1.10.v20130312。但是在通过 mvn jetty 运行项目时,我遇到了意外的异常。

我已经通过以下方式在 pom.xml 中配置了 jetty 插件:

<plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>8.1.10.v20130312</version>
            <configuration>
                <systemProperties>
                    <systemProperty>
                        <name>org.apache.cocoon.log4j.loglevel</name>
                        <value>WARN</value>
                    </systemProperty>
                </systemProperties>
                <connectors>
                    <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                        <port>9090</port>
                        <maxIdleTime>30000</maxIdleTime>
                    </connector>
                </connectors>
                <webApp>
                    <contextPath>/</contextPath>
                </webApp>
                <scanIntervalSeconds>0</scanIntervalSeconds>
                <stopKey>stop</stopKey>
                <stopPort>9999</stopPort>
            </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我在运行命令时遇到以下异常:- mvn org.mortbay.jetty:jetty-maven-plugin:run

2013-04-24 06:49:39.216:警告:oeja.AnnotationParser:异常java.io.FileNotFoundException:/home/ayush/scala-lift/knolgame/target/classes/com/knolgame/lib/TransactionStatus$$anonfun$在 java.io.FileInputStream.open(本机方法) 处找到 $1.class (打开的文件太多) 在 java.io.FileInputStream.(FileInputStream.java:106) 处 org.eclipse.jetty.util.resource.FileResource.getInputStream (FileResource.java:286)在org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:754)在org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:747)在org.eclipse。 jetty.annotations.AnnotationParser.parse(AnnotationParser.java:747) 在 org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:747) 在 org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:第747章)

但是当我使用jetty 6.1.25时,它工作正常。

<plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.25</version>
            <configuration>
                <systemProperties>
                    <systemProperty>
                        <name>org.apache.cocoon.log4j.loglevel</name>
                        <value>WARN</value>
                    </systemProperty>
                </systemProperties>
                <connectors>
                    <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                        <port>9090</port>
                        <maxIdleTime>30000</maxIdleTime>
                    </connector> …
Run Code Online (Sandbox Code Playgroud)

jetty maven maven-jetty-plugin jetty-8

5
推荐指数
1
解决办法
1万
查看次数

jetty ContextHandler中的正则表达式上下文路径?

我正在尝试使用jetty上下文配置(配置放在$ JETTY_HOME/context /中).我正在尝试配置一个ContextHandler负责提供静态文件作为一个ine javadoc.xml.我的配置文件是这样的:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.eclipse.org/configure.dtd">

<!--
Configure a custom context for serving javadoc as static resources 
-->

<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
  <Set name="contextPath">/*/html</Set>

  <Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>/html/</Set>
  <Set name="handler">
    <New class="org.eclipse.jetty.server.handler.ResourceHandler">
      <Set name="welcomeFiles">
        <Array type="String">
          <Item>index.html</Item>
        </Array>
      </Set>
      <Set name="cacheControl">max-age=3600,public</Set>
    </New>
  </Set>
</Configure>
Run Code Online (Sandbox Code Playgroud)

我想要的是能够服务于/*/html /之类的任何路径,但这不会响应像/ foo/html这样的调用.

如何配置服务器的路径,如/ foo/html/bar/html/baz/html?如果我设置上下文路径

<Set name="contextPath">/foo/html</Set><!--this one works  -->
<Set name="contextPath">/bar/html</Set> <!-- this one works  -->

<Set name="contextPath">/baz/html</Set> <!-- this one works  -->

<Set name="contextPath">/*/html</Set> …
Run Code Online (Sandbox Code Playgroud)

java jetty jetty-8

5
推荐指数
0
解决办法
577
查看次数