jetty

Jetty嵌入式开发及参数设置

♀尐吖头ヾ 提交于 2020-04-27 18:10:58
已转移 Jetty嵌入式开发 嵌入Jetty服务,通常执行下面的步骤: 1)创建一个服务 2)添加和配置服务器线程池 3)添加和配置处理器 4)添加和配置Servlet、Webapp到处理器 5)添加和配置连接器 6)启动服务 7)等待(join服务防止主线程退出) Jetty参数设置 线程池( ThreadPool ) 线程池线程资源大小确定了服务器的服务能力,默认大小不一定能满足生产环境,线程分配方式决定了服务器的资源利用效率, jetty自带的线程池 QueuedThreadPool。 minThreads:最小线程数,默认10 maxThreads:最大线程数,默认200 detailedDump:表示是否记录详细的thread dump,默认false不记录。 连接器(Connector) Connector主要分两类,BIO(同步阻塞IO)模式和NIO(异步阻塞IO)模式。 BIO模式的Connector有: ScoketConnector (HTTP) Ajp13SocketConnector (AJP) SslSocketConnector (SSL) NIO模式的Connector有: SelectChannelConnector (HTTP) SslSelectChannelConnector (SSL) 注意,如果配置多个Connector的话

二、SpringBoot基础配置

人走茶凉 提交于 2020-04-24 23:30:53
[toc] 2.1 @SpringBootApplication 从 上篇文章 中知道 @SpringBootApplication 是加载启动类上的一个组合注解,源码定义: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication { //other code... } 可以看到这个注解包含了 @SpringBootConfiguration 、 @EnableAutoConfiguration 、 @ComponentScan 三个常用的注解,他们的作用如下:

IDEA集成JRebel热部署和远程调试

不羁的心 提交于 2020-04-24 03:24:15
在Java Web开发中,一般更新了Java文件后要手动重启Tomcat服务器才能生效,浪费不少生命啊,自从有了JRebel这神器的出现,不论是更新类还是更新Spring配置文件都能做到立马生效,大大提高开发效率。 JRebel的使用方式最常见还是通过插件方式使用,这里我介绍下在IntelliJ IDEA中怎样集成JRebel,另外还顺便介绍一下IDEA如何进行远程调试。 安装 IDEA里面安装插件比较简单,File –> setttings –> Plugins,找到 Browe Repositories 按钮,查找需要的JRebel插件,点击Install即可。 安装完插件后重启IDEA即可看到JRebel的图标了,绿色的小火箭。 激活 通过myjrebel 下一步就是激活JRebel了,现在 JRebel 对个人非商业用途的用户永久免费,只需要分享一下使用统计。访问: https://my.jrebel.com/ 使用 Facebook 或者 Twitter 帐号登录获取永久激活码。然后注册完,在如下页面就有注册码: 获取到注册码后复制下来,然后点击 Help –> JRebel –> Activation 输入激活码即可: 通过LicenseServer 在2018/07/05这天IDEA突然提示JRebel的激活码不能用了,然后打开 https : /

SpringBoot文件夹上传解决方案

老子叫甜甜 提交于 2020-04-18 17:49:46
前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 1.特点: (1)支持客户/服务器模式。 (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 (4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (5

ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)

泪湿孤枕 提交于 2020-04-18 01:56:06
一、什么是ActiveMQ 度娘给出的定义: Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。 ActiveMQ的官网打出的标语(如上图): Flexible & Powerful Open Source Multi-Protocol Messaging 大意是:兼容性好并且功能强大的开源多协议消息中间件,那具体是怎么体现的呢? 1.兼容性好: ActiveMQ可以很容易内嵌到使用Spring的系统里面去, 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上 2.功能强大: 支持通过JDBC和journal提供高速的消息持久化, 支持客户端-服务器,点对点 支持Ajax 支持与Axis的整合, WebServices 可以很容易的调用内嵌JMS provider进行测试 从设计上保证了高性能的集群 3.多协议: 应用协议有OpenWire,Stomp REST,WS Notification,XMPP,AMQP, 还支持多种传送协议:in-VM

idea如何安装使用jetty runner

落花浮王杯 提交于 2020-04-16 18:05:15
【推荐阅读】微服务还能火多久?>>> idea如何安装使用jetty runner jetty runner介绍 For a fast and easy way to run your webapp, without having to install and administer a Jetty distro, use the Jetty Runner. 快速运行你的webapp应用,而不需要安装jetty distro管理, 只需要使用jetty runner即可。 jetty runner介绍 jetty下载 从idea下载安装 从官网下载安装 jetty配置 jetty下载 从idea下载安装 1.打开idea设置,进入plugins ,如图所示安装即可;如果下载不下来是因为没有翻墙, 下面从csdn下载安装的方法不需要翻墙! 从官网下载安装 1.官网地址: https://plugins.jetbrains.com/plugin/7505-idea-jetty-runner 2.csdn下载地址( 无需翻墙的方法 ): https://download.csdn.net/download/lyt_angularjs/10462464 3. 安装: 打开idea安装目录下面的plugins文件夹,将jettty-runner丢进去重启idea就可以了 jetty配置 1

在IDEA中启动Spring项目

岁酱吖の 提交于 2020-04-11 16:21:56
在IDEA中启动Spring项目 1.在pom.xml中添加: <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.5.v20170502</version> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> <httpConnector> <port>8080</port> </httpConnector> <!-- 访问路径 --> <webApp> <contextPath>/</contextPath> </webApp> </configuration> </plugin> 2.新建一个运行配置:选择Maven,在command line 中:填写 jetty:run 来源: oschina 链接: https://my.oschina.net/langwanghuangshifu/blog/3229193

JPMS: --add-opens doesn't work for java.lang.reflect.InaccessibleObjectException

不想你离开。 提交于 2020-04-11 05:44:56
问题 I use Java 14 with Jetty 9.4 and Weld-servlet-shaded-3.1 and I get this exception: Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to module weld.servlet.shaded. According to answer here: https://stackoverflow.com/a/41265267/5057736 I tried to add --add-opens java.base/java.lang=ALL

记一次jar包冲突导致项目启动失败的处理过程【java.lang.NoSuchMethodError:javax.servlet.ServletContext】

大城市里の小女人 提交于 2020-04-09 19:26:27
自从搞明白 idea下,Jetty采用main方法启动web项目 后,准备大刀阔斧地把其他web项目也改成jetty启动,不幸的是,第一个项目就遇到了问题,这里记录下整个排查流程及处理办法。 1. 异常发生 项目按 idea下,Jetty采用main方法启动web项目 一文中所述的进行配置后,运行,发现出现了如下异常: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getJspConfigDescriptor()Ljavax/servlet/descriptor/JspConfigDescriptor; at org.apache.jasper.servlet.TldScanner.scanJspConfig(TldScanner.java:158) at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104) at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:103) ...... 在idea中一查 javax.servlet.ServletContext ,发现共有4个jar包中有这个类,分别是: javax.servlet-api

Configure dropwizard to server index.html for (almost) all routes?

笑着哭i 提交于 2020-04-08 04:59:44
问题 I'm building a single page application which does all of it's html request routing on the client side and on the backend it uses dropwizard to provide a bunch of JSON services. Essentially I'm having trouble getting the jetty in dropwizard to serve index.html for every request except to the following paths: /css /i18n /img /js /lib /services /templates In fact I'm having a lot of trouble finding documentation that tells you how to setup any http routing at all. (I'm not a java guy). Here's my