Tag: docker

如何在Google App Engine Java应用程序之间共享模块之间的会话?

当我通过模块A中的HttpSession在会话中存储某些内容时: HttpSession session = req.getSession(true); session.setAttribute(“username”, “Eng.Fouad”); 然后我尝试从模块B中检索此信息(在同一浏览器会话期间): HttpSession session = req.getSession(true); String username = session.getAttribute(“username”); // null! 我将null作为值,这意味着不同的会话。 如何在GAE中跨多个模块共享会话? 旧答案,我认为它不能很好地工作: 我一直试图解决这个问题好几个星期。 事实certificate,模块不共享会话,因为不同子域的cookie是不同的(module1.apphost.com cookies!= module2.apphost.com cookies)。 要解决此问题,只需在每个模块的web.xml中设置cookie域: org.mortbay.jetty.servlet.SessionDomain .apphost.com org.mortbay.jetty.servlet.SessionPath / org.mortbay.jetty.servlet.SessionURL none … 额外: 以下是可以与Jetty cookie一起使用的所有init参数的列表: 编辑:开发环境的解决方法: 使每个模块的端口固定(使用JVM arg -Dcom.google.appengine.devappserver_module.{module_name}.port=8081 )。 例如,module1始终托管在localhost:8888,而module2始终托管在localhost:8889。 看到这个答案 。 使用Fiddler将localhost与每个模块的端口绑定到自定义域。 例如,moule1.gaelocal.com指向localhost:8888,moule2.gaelocal.com指向localhost:8889。 看到这个答案 。 更新每个模块的web.xml并将.apphost.com替换为.gaelocal.com (或者只为两个环境使用.apphost.com )。

Java servlet和数据库连接池

只是查看Web上连接池的示例,它们都基于每个servlet实现连接池。 因此每个servlet都有自己的数据库连接池。 我的问题是,为什么这类似于全局数据库连接池? 由于全局池似乎比每个servlet池更有效。 此外,因为我正在考虑实施这样的池。 有没有办法在servlet之前初始化一个类(我正在使用jetty btw)? 我刚刚开始进行servlet开发,但这对于其他类似于配置的东西似乎也很有用。 否则我只是会使用某种类似单身的模式..

Jetty mysql连接池配置错误:javax.naming.NameNotFoundException; 剩余名称’env / jdbc / —(mysql 5.0 + jetty 7.0.1)

我的配置文件 project / WEB-INF / web.xml : ConnectionPool DataSource Reference jdbc/mysql javax.sql.DataSource Container 项目/ WEB-INF /docker-env.xml: jdbc/mysql com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/db user pwd 50 要调用的代码: ctx = new InitialContext(); ds = (DataSource) ctx.lookup(“java:comp/env/jdbc/mysql”); con=ds.getConnection(); 启动docker的脚本: java -DOPTIONS=plus -jar start.jar java -jar start.jar 无论哪种方式开始docker,我都有以下错误: javax.naming.NameNotFoundException; remaining name ‘env/jdbc/mysql’ at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:632) at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:663) at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:678) at org.eclipse.jetty.jndi.java.javaRootURLContext.lookup(javaRootURLContext.java:110) at javax.naming.InitialContext.lookup(Unknown […]

如何配置嵌入式jetty服务器以记录所有请求?

我想将所有soap请求记录到我的服务器。 服务器实例是嵌入式jetty服务器。 有没有办法设置处理程序来执行此操作。 我可以访问web.xml文件

Jersey错误JAXBStringReaderProviders $ RootElementProvider

17-53-2014 12:53:31.817 INFO – 将com.citronium.fizionomizm.service.server.controllers.Root注册为根资源类17-53-2014 12:53:31.820 INFO – 注册com.citronium.fizionomizm。 service.server.controllers.RecognizePath as root resource class 17-53-2014 12:53:31.822 INFO – 启动Jersey应用程序,版本’Jersey:1.18 11/22/2013 03:05 AM’17-53-2014 12: 53:31.929错误 – 无法实例化提供程序类com.sun.jersey.server.impl.model.parameter.multivalued.JAXBStringReaderProviders $ RootElementProvider。 处理将继续,但不会使用该类java.lang.IllegalArgumentException:参数类型不匹配sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)〜[na:1.7.0_51] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl。 java:57)〜[na:1.7.0_51] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)〜[na:1.7.0_51] at java.lang.reflect.Constructor.newInstance(Constructor.java: 526)〜[na:1.7.0_51] at com.sun.jersey.core.spi.component.ComponentConstructor。 getInstance(ComponentConstructor.java:210)~ [fizionomizm-service.jar:0.1] at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:180)~ [fizionomizm-service.jar:0.1 ]在com.sun.jersey.core.spi.component.ProviderFactory。 _getComponentProvider(ProviderFactory.java:166)[fizionomizm-service.jar:0.1] at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:137)[fizionomizm-service.jar:0.1] at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:283)[fizionomizm-service.jar:0.1] at com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices(ProviderServices。 java:176)[fizionomizm-service.jar:0.1] at com.sun.jersey.server.impl.model.parameter.multivalued.StringReaderFactory.init(StringReaderFactory.java:60)[fizionomizm-service.jar:0.1] […]

在Oracle中使用Jetty进行连接池

我正在尝试使用Jetty服务器在Oracle实现ConnectionPooling的概念。 我尝试过以下在教程中看到的内容。 如果我使用Tomcat服务器部署它是有效的,但Jetty似乎给了我一个不寻常的error 。 详情如下 – 我有一个名为TestServlet.java的类定义为 – import java.io.IOException; import java.sql.*; import javax.naming.*; import javax.servlet.*; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import javax.sql.DataSource; @SuppressWarnings(“serial”) @WebServlet(“/TestServlet”) public class TestServlet extends HttpServlet { public TestServlet() throws ServletException{ System.out.println(“Constructor”); init(); } public DataSource dataSource; private Connection con; private Statement statement; public void init() throws ServletException { System.out.println(“inside init method”); […]

将Java对象转换为Java Map

我正在使用org.eclipse.jetty.util.ajax.JSON来解析JSON文本。 但是JSON.parse(string)方法产生一个Object,我需要它作为Map。 在内部,它是完全提到的类的对象。 但是,如何在不构建新对象或获取未经检查的强制转换警告的情况下将对象转换为映射? 目前,我发现只有一个解决方案没有未经检查的强制转换警告,但是构建了一个新的Map,实际上当然不是一个强制转换。 private Map getMap(String string) { HashMap result = new HashMap(); Object object = JSON.parse(string); if (object instanceof Map) { Map map = (Map)(object); for (Map.Entry entry : map.entrySet()) { String key = entry.getKey().toString(); Object value = entry.getValue(); result.put(key,value); } } return result; } 那么是否有一种方法可以在没有未经检查的投射警告的情况下正确施放它?

如何在jetty服务器中为CSS,Javascript,图像等静态资源设置expires头

我看到有类似的问题,但找不到合适的答案.. 任何新的答案将不胜感激。

Jetty 8.1.1 Websocket客户端握手

我正在使用Jetty 8.1.1 Websocket客户端API。 我需要用(“Sec-WebSocket-Protocol”, “xsCrossfire”)和(“Authorization”, “Basic TLVWQMZqRr2hasYnZoI=”)更新标题 WebSocketClientFactory factory = new WebSocketClientFactory(); factory.start(); client = factory.newWebSocketClient(); client.getCookies().put(“Sec-WebSocket-Protocol”, “xsCrossfire”); client.getCookies().put(“Authorization”, “Basic TLVWQMZqRr2hasYnZoI=”); Future conn = client.open(uri, (WebSocket) this); System.out.printf(“Connecting to : %s%n”, uri); 请求看起来: Host: iltlvl262:8000\r\n Upgrade: websocket\r\n Connection: Upgrade\r\n Sec-WebSocket-Version: 13\r\n Sec-WebSocket-Key: FHKTsICO2vqGCxXVwLkH4Q==\r\n Cookie: Sec-WebSocket-Protocol=xsCrossfire\r\n Cookie: Authorization=”Basic TLVWQMZqRr2hasYnZoI=”\r\n 预期要求: Host: iltlvl262:8000\r\n Upgrade: websocket\r\n Connection: Upgrade\r\n […]

如何为Jetty的Maven Cargo插件指定jetty-env.xml文件?

我正在从Maven的jetty插件迁移到Cargo插件(cargo-maven2-plugin),因为Cargo将很乐意从依赖的Maven模块运行WAR。 在web-app中,我们花了很大力气通过JNDI外部化所有配置。 这些JNDI定义是特定于Web应用程序的,因此放在WAR外部的jetty-env.xml文件中。 使用Jetty插件,我们将此文件指定如下: org.mortbay.jetty maven-jetty-plugin ${basedir}/target/config/jetty-env.xml 如何在Cargo Plugin中指定它? 这是我到目前为止的配置。 当然,由于缺少JNDI配置,它会失败: org.codehaus.cargo cargo-maven2-plugin jetty6x embedded com.mycompany my-war-module war / false ……