ActFramework 终于支持 WebSocket 了
聊天室应用:
@WsAction("msg")
public void onMessage(String message, WebSocketContext context) {
context.sendToPeers(message);
}
Echo 应用:
@WsAction("echo")
public void onMessage(String message, WebSocketContext context) {
context.sendToSelf(message);
}
关于更详细的 websocket 支持, 可参见 官方文档
通过配置 logback.xml
文件 (例子在这里) ActFramework 可以输出带颜色的 log 信息:
如果 ActFramework 在 /resources/asset/
或 /resources/asset/img
或 /resources/asset/image
目录下找到 favicon.png
或 favicon.ico
文件,将会在应用启动的时候打印 ASCII 版的 favicon,例如:
@Stateless
注解的类加入到应用的 singleton 注册表中如果一个类上标注有 @Stateless
注解,ActFramework 在启动的时候会将该类加入 Singleton 注册表里
有时候没法依赖 cookie 来保存 session 数据, 这个时候我们需要将 session 数据映射到其他方式,比如 http header 里。在以前的版本中使用 header session mapper 不是特别方便:
package com.mycomp;
public class MyAppSessionMapper extends act.util.SessionMapper.HeaderSessionMapper {
public SessionMapper() {
super("X-MyApp-");
}
}
session.mapper=com.mycomp.MyAppSessionMapper
R1.4.0 简化了上面的步骤,现在我们只需要在配置文件中加入下面一行即可:
session.mapper.header.prefix=X-MyApp-
如果框架在 /resources/
找到一个名为 act_banner.txt
的文件,将会使用该文件的内容来作为应用启动时的 banner text 输出,例如
现在开发人员可以使用 @Lazy
注解和 @Singleton
注解一起表示一个 Singleton 类,但是不需要在应用启动过程之加载到 Singleton 注册表中,而是当第一次被使用的时候实例化并加载到 Singleton 注册表, 例如:
@Lazy
@Singleton
public class MySingletonClass {
}
点击 https://github.com/actframework/actframework/milestone/7?closed=1 查看 R1.4.0 的 issue 完整清单