Tag: docker

如何在docker容器中使用docker文件运行jar文件

我编写了docker文件来运行jar文件而它没有创建日志文件,因为下面的控制台是我的docker文件 From ubuntu RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y software-properties-common && \ add-apt-repository ppa:webupd8team/java -y && \ apt-get update && \ echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \ apt-get install -y oracle-java8-installer && \ apt-get clean VOLUME /temp RUN apt-get install -y vim ADD real_estate_false.jar /real_estate_false.jar […]

无法从另一个maven子项目调用Hibernate / QueryDSL

我有两个maven子项目 – jetty_runner1和jetty_runner2 我的目录结构如下所示: ./jetty_runner1/pom.xml ./jetty_runner1/src/main/java/com/jetty_runner1/CheckPersistence.java ./jetty_runner1/src/main/java/com/jetty_runner1/HelloWorldServlet.java ./jetty_runner1/src/main/java/com/jetty_runner1/MiscKeyValue.java ./jetty_runner1/src/main/java/com/jetty_runner1/MiscKeyValueManager.java ./jetty_runner1/src/main/resources/META-INF/persistence.xml ./jetty_runner1/src/main/webapp/WEB-INF/web.xml ./jetty_runner2/pom.xml ./jetty_runner2/src/main/java/com/jetty_runner2/CheckPersistence.java ./jetty_runner2/src/main/java/com/jetty_runner2/HelloWorldServlet.java ./jetty_runner2/src/main/resources/META-INF/persistence.xml ./jetty_runner2/src/main/webapp/WEB-INF/web.xml ./pom.xml CheckPersistence.java,HelloWorldServlet.java,persistence.xml和web.xml在两个项目中是完全相同的,除了包名(我已经创建了这个简化的例子,在这里发布。在实际应用中,这两个子项目做完全不同的东西) 以下是实际的文件内容: CheckPersistence.java public class CheckPersistence { public void beginUpdation() { String val = null; List keyValues = MiscKeyValueManager.get().selectStar(); if (keyValues != null && keyValues.size() == 1) val = keyValues.get(0).getStringValue(); if (val == null) val = “Hello World”; […]

使用jackson将json反序列化为java – 特殊字符问题

我使用jackson(泽西和docker)作为我的REST网络服务 – 一切进展顺利。 但是我要求在json post请求中的一个名称值对中包含一个特殊字符。 即json请求(在post正文中) – { “id”: “1”, “print-color” : “red” } //“print-color”中的“ – ”给出了问题。 现在在我对应的这个对象Item.java类的java bean中,我不能创建一个名为print-color的属性(因为不允许使用“ – ”)。 如何在映射中处理它? 谢谢。

严重:PWC6117:找不到档案 – docker

我们在生产环境中面临这个问题,但无法追踪它。 技术 :JSP / Servlets, Jetty服务器版本 :jetty-distribution-8.1.15, 以下是例外,我们在Jetty Logs中得到的结果如下: 2014_08_10.stderrout.log.05300:严重:PWC6117:找不到文件“%2Ftmp%2Fjetty-0.0.0.0-8090-ExpireApp.war-_ExpireApp-any-%2Fwebapp%2FExpiry.jsp” 该应用程序之前运行良好,但最终用户无法访问.jsp文件,我们需要重新启动相同但我们希望解决它。 请帮忙

Jetty Websocket IdleTimeout

我最近一直在使用Jetty API (9.4.5 release)带注释的websockets,并与之聊天。 但是我遇到了一个问题,5分钟后(我认为是默认计时器),会话关闭(这不是由于错误)。 我发现的唯一解决方案是通知我的socket关闭事件并在新套接字中重新打开连接。 但是我已经阅读了stackOverflow,通过在WebsocketPolicy中设置IdleTimeOut ,我可以避免这个问题: 我试过设置为3600000 ,但行为根本没有改变 我也尝试将其设置为-1但我得到以下错误: IdleTimeout [-1] must be a greater than or equal to 0 private ServletContextHandler setupWebsocketContext() { ServletContextHandler websocketContext = new AmosContextHandler(ServletContextHandler.SESSIONS | ServletContextHandler.SECURITY); WebSocketHandler socketCreator = new WebSocketHandler(){ @Override public void configure(WebSocketServletFactory factory){ factory.getPolicy().setIdleTimeout(-1); factory.getPolicy().setMaxTextMessageBufferSize(MAX_MESSAGE_SIZE); factory.getPolicy().setMaxBinaryMessageBufferSize(MAX_MESSAGE_SIZE); factory.getPolicy().setMaxTextMessageSize(MAX_MESSAGE_SIZE); factory.getPolicy().setMaxBinaryMessageSize(MAX_MESSAGE_SIZE); factory.setCreator(new UpgradedSocketCreator()); } }; ServletHolder sh = […]

如何在Jetty中使用setThreadPool()

我想看看如何使用setThreadPool()function。 假设我的主要课程如下: import javax.servlet.SingleThreadModel; import org.eclipse.jetty.server.Server; public class FServer implements SingleThreadModel { public static void main(String[] args) throws Exception { Server server = new Server(x); server.setHandler(new Handler()); server.start(); server.join(); } } 在尝试添加setThreadPool() ,我总是被要求实现抽象方法。 我的问题是,如何设置Threadty的ThreadPool长度而不必强制使用XML配置文件,例如server.setThreadPool(5) ,其中5是同时线程的数量?

Spring引导application.yml中的Spring Kafka SSL设置

我正在尝试使用Kafka客户端设置Spring Boot应用程序以使用SSL。 我将我的keystore.jks和truststore.jks存储在文件系统(在docker容器上)上,因为: https : //github.com/spring-projects/spring-kafka/issues/710 这是我的application.yml: spring: kafka: ssl: key-password: pass keystore-location: /tmp/kafka.client.keystore.jks keystore-password: pass truststore-location: /tmp/kafka.client.truststore.jks truststore-password: pass 但是,当我启动应用程序(在docker容器中)时,它说: Caused by: java.lang.IllegalStateException: Resource ‘class path resource [tmp/kafka.client.keystore.jks]’ must be on a file system [..] Caused by: java.io.FileNotFoundException: class path resource [tmp/kafka.client.keystore.jks] cannot be resolved to URL because it does not exist 我检查了容器,/ tmp中有.jks。 […]

如何在HttpServletRequest中访问POST参数?

我有一个基本上是服务代理的应用程序。 该应用程序本身建在泽西岛上,由Jetty提供服务。 我有这个资源方法: @POST @Path(“/{default: .*}”) @Timed @Consumes(“application/x-www-form-urlencoded”) public MyView post(@Context UriInfo uriInfo, @Context HttpServletRequest request) { … } 用户提交POST表单。 所有POST请求都通过此方法。 除了一个细节之外,UriInfo和HttpServletRequest被适当地注入:似乎没有参数。 这是我从终端发送的请求: POST /some/endpoint HTTP/1.1 Accept: */* Accept-Encoding: gzip, deflate Connection: keep-alive Content-Length: 15 Content-Type: application/x-www-form-urlencoded; charset=utf-8 Host: localhost:8010 User-Agent: HTTPie/0.9.2 foo=bar&biz=baz POST主体显然包含2个参数:foo和biz。 但是当我尝试在我的代码( request.getParameterMap )中获取它们时,结果是一个大小为0的映射。 如何从资源方法中访问这些参数或此参数字符串? 如果重要,使用的HttpServletRequest的实现是org.eclipse.jetty.server.Request。

Spring AOP使用Java 8提供IllegalArgumentException

使用Java 8和Spring AOP 4.0.6我收到以下错误 java.lang.RuntimeException: Error scanning file MonitorAroundPerformance.class at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:705) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:821) at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159) at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:531) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException at org.objectweb.asm.ClassReader.(Unknown Source) at org.objectweb.asm.ClassReader.(Unknown Source) at org.objectweb.asm.ClassReader.(Unknown Source) at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:970) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:700) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) […]

如何在Jetty类路径中将jar放入jetty / lib?

我有Jetty jetty-9.2.3.v20140905 我的理解是lib / jar或lib / ext中的jar自动出现在类路径中,但这可能是jetty 8的旧行为。 我正在尝试使用websockets部署webapp。 随着我在webapps目录中部署的WAR文件,jetty一直在抱怨它找不到位于jetty / lib目录中的jar(jetty-http,jetty-io,jetty-security,jetty-server,jetty-servlet,jetty- util是我的webapp需要的,它找不到) 当我执行–module-ext时,放在lib / ext中的jar也没有被拾取 我该如何解决这个问题? 为了解决下面的答案,(编辑原始问题)我尝试启用服务器模块,其server.mod文件包含以下行: [lib] lib/servlet-api-3.1.jar lib/jetty-schemas-3.1.jar lib/jetty-http-${jetty.version}.jar lib/jetty-server-${jetty.version}.jar lib/jetty-xml-${jetty.version}.jar lib/jetty-util-${jetty.version}.jar lib/jetty-io-${jetty.version}.jar 从命令行,我做 java -jar start.jar –module=server jetty.port=8182 结果是: 2014-10-30 15:26:13.907:WARN:oejuc.AbstractLifeCycle:main: FAILED org.eclipse.jetty.annotations.ServletContainerInitializersStarter@2635068e: java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Handler java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Handler org.eclipse.jetty.server.Handler就在我的jetty / lib目录下的jetty-server jar中。 也许jetty.version或jetty.base变量不正确? 当我表演时 –list-classpath 我确实看到了lib目录中的所有jar。