文档章节

Nutz-plugins-undertow插件试用笔记

黄道坤
 黄道坤
发布于 2017/07/21 16:44
字数 465
阅读 89
收藏 0
点赞 0
评论 0

本人特别喜欢在折腾这件事上浪费生命!

手上有一个基于Maven的Web项目,Web框架用的Nutz,最近不是Nutzmore出了新版,我就看了一下,发现这个Undertow很厉害的样子,就打算试一试。

那么淌坑的经历就开始了。

首先,我用了WebSocket,插件(Nutz-plugins-undertow)并没有特别说明用法,看了一下源码,最后在WebLancher的start方法里,自己添加了一个WebSocket的HttpHandler。

-----------小分分--------------

//添加WebSocket的Handler
        PathHandler pathHandler = Handlers.path().addPrefixPath("/myWebsocket", websocket(new WebSocketConnectionCallback() {
            @Override
            public void onConnect(WebSocketHttpExchange exchange, WebSocketChannel channel) {
                channel.getReceiveSetter().set(new AbstractReceiveListener() {
                    @Override
                    protected void onFullTextMessage(WebSocketChannel channel, BufferedTextMessage message) {
                        //这就是服务端向客户端发送消息的方法
                        WebSockets.sendText(message.getData(), channel, null);
                    }
                });
                channel.resumeReceives();
            }
        })).addPrefixPath(contextPath, servletHandler);

------------小分分----------------

然后还算顺利,到了打包的时候了,作者提供了一个相关的Pom文件例子和命令,不过因为我项目里还夹杂了一些Kotlin代码(好奇心忒重),我添加了Kotlin的编译相关的配置,不过一直没办法把页面及其相关的东西放进去,尝试过多次,最后只有自己配置一个webRoot地址了,也可以写死,随你便。 具体的pom文件如下:

<build>
        <sourceDirectory>src/main/org</sourceDirectory>
        <finalName>ROOT</finalName>
        <plugins>
            <plugin>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-plugin</artifactId>
                <version>${org.jetbrains.kotlin.kotlin-stdlib-jre8.version}</version>
                <executions>
                    <execution>
                        <id>compile</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>your main class</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

最后执行

mvn clean package -U

就可以了 然后

java -jar xx.jar "你的web目录"

最后说明一下,这个“你的web目录” 是传递给WebConfig里的setRoot方法的,你可以用你喜欢的方式来插入!

还有其他坑,遇到再补充了。

© 著作权归作者所有

共有 人打赏支持
黄道坤
粉丝 1
博文 5
码字总数 13828
作品 0
成都
程序员
NutzMore 1.r.62 发布,Nutz 官方插件集

更新内容: add: nutz-plugins-wkcache 方法缓存插件 by @Wizzer add: nutz-integration-bex5 集成插件 by @muyu add: nutz-plugins-undertow 插件 by @qinerg add: nutz-plugins-recur 插件......

wendal
2017/07/18
387
2
Wendal/nutzmore

nutzmore Nutz的插件与扩展 各种官方插件的集合 每个插件都有自己的文件夹,均为maven module, 请按需获取. org.nutz填nutz插件名1.r.59 快照版地址 https://jfrog.nutz.cn/artifactory/snap...

Wendal
2015/08/29
0
0
NutzBoot 2.0-RC 添加 undertow/模板引擎/ngrok 支持

NutzBoot 2.0-RC已发布。 首先,必须高亮一下@qinerg提交的starter-undertow,嗷嗷嗷. Jetty与Undertow任意切换^^ 模板引擎(beetl和jetx)的starter已经完成,所以移除了starter-jetty的jsp依赖....

wendal
2017/12/01
598
17
NutzBoot v2.1.7 新增 maven 插件和 mqtt-client

NutzBoot v2.1.7 已发布,更新如下: 新增maven插件和mqtt支持 时间: 2018-05-04 事件: 青年节 曲目: Penguin's Game 兼容性: 与2.0.x和2.1.x完全兼容 变更: fix: 修改jetty热加载无效问题 ...

wendal
05/04
0
0
NUTZ-ONEKEY vue 版发布,自动生成后台接口文档

nutz-onekey vue 版本发布了. 主要包含以下惊喜: VUE 版本界面,使用 element 构建的 spa 界面 使用 maven-exec 插件直接打包执行 npm 打包 使用 maven-resource 插件直接打webjars 使用 se...

Kerbores
2017/05/25
1K
12
NutzBoot v2.0 正式版发布

大家昨晚都很累吧,来瓶营养快线/红牛, 再战一X ^^ 添加zookeeper集成,由天空提供 添加Vecloity模板引擎,由haoqoo提供 修正了几个bug -----------------------------------------------------...

wendal
2017/12/25
789
18
NutzBoot v2.2.0 没有华丽的标题,只有朴素的代码

NutzBoot v2.2.0 "荷塘月色" 发布了,此版本完善了 serlvet 容器(jetty/undertow/tomcat)对 web.xml 的替代性配置。 时间: 2018-06-11 曲目: 荷塘月色 兼容性: 与2.0.x/2.1.x完全兼容 变更:...

wendal
06/11
0
0
nutzcn 3.0.1 插件版发布, nutz-book 衍生项目

基于 nutz-plugins-hotplug 重构整个项目,功能模块均插件化, 后台界面基于vue。名字也改成了 nutzcn。 新版后台截图 下载地址: https://git.oschina.net/wendal/nutz-book-project/tree/v3...

wendal
2017/02/24
671
7
Nutz 1.r.62 发布,Java 应用框架  

1.r.62 黄皮 发行注记(20170718) 黄皮,有点酸有点甜,但不是初恋的味道, 俺这种广州土著就很喜欢吃.去年7月北京之行, 给同事带去的一箱黄皮和荔枝,结果,荔枝一边倒的好评, 黄皮是毁誉参半. 新...

Google
2017/07/18
1K
20
NutzWk 4.0.9 和 3.3.8 发布,Java 企业级开源开发框架

NutzWk 是基于Nutz的开源Java企业级开发框架。 v4.0.9 更新内容 1、add: 微信菜单增加小程序配置 & 模板消息支持小程序; v4.0.8 更新内容 1、update: 开发指南添加如何加入自己的类包的文档...

Wizzer
2017/03/28
1K
7

没有更多内容

加载失败,请刷新页面

加载更多

下一页

微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、登录流程图 二、小程序客户端 doLogin:function(callback = () =>{}){let ...

公众号_好好学java
38分钟前
0
1
流利阅读笔记28-20180717待学习

“我不干了!” 英国脱欧大臣递交辞呈 雪梨 2018-07-17 1.今日导读 7 月 6 日,英国政府高官齐聚英国首相的官方乡间别墅——契克斯庄园,讨论起草了一份关于英国政府脱欧立场的白皮书。可是没...

aibinxiao
今天
7
0
OSChina 周二乱弹 —— 理解超算排名这个事,竟然超出了很多人的智商

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @-冰冰棒- :分享Ed Sheeran/Beyoncé的单曲《Perfect Duet (with Beyoncé)》 《Perfect Duet (with Beyoncé)》- Ed Sheeran/Beyoncé 手机...

小小编辑
今天
180
7
Android 获取各大音乐平台的真实下载地址

废话 电脑使用谷歌浏览器或者QQ浏览器的时候。。。。。。。说不清楚,还是看图吧 大概意思就是,只要网页上需要播放,只要能播放并且开始播放,这个过程就肯定会请求到相关的音乐资源,然后就...

她叫我小渝
今天
0
0
shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
1
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部