我的 EJB 3 计时器在多次启动时遇到了一些问题。我没有在注释中配置计时器,而是使用编程配置,如许多博客中所述。这是我的代码:
@Singleton
@Startup
public class AutoAssignTask extends AbstractDirectoryMonitor {
@Resource
private TimerService timer;
@Inject
@PropertyResource(name = "timer.hour", resource = "/DL4/app.conf")
private String hour;
@Inject
@PropertyResource(name = "timer.minute", resource = "/DL4/app.conf")
private String minute;
@Inject
@PropertyResource(name = "timer.second", resource = "/DL4/app.conf")
private String second;
@EJB
private AutoAssignService autoAssignService;
@PostConstruct
public void init() {
// initializing with an expression.
this.initSchedule();
}
protected void initSchedule() {
ScheduleExpression exp = new ScheduleExpression();
if (!StringUtils.isEmpty(this.getHour())) {
exp.hour(this.getHour());
}
if (!StringUtils.isEmpty(this.getMinute())) {
exp.minute(this.getMinute()); …Run Code Online (Sandbox Code Playgroud) 我有一个正在运行的Mosquitto服务器,我在该服务器上激活了websocket侦听器。一切正常,我可以从 Angular 应用程序订阅/发布。我没有从 Mosquitto 激活 SSL,但我使用 Nginx 进行了反向代理,有效地加密了 websocket。我无法通过 访问ws,只能通过 访问wss。
现在将与 Websocket 的连接限制为仅经过身份验证的用户的最佳实践是什么?向外界启用该位置将使 MQTT 服务器加密,但可供所有人使用。有没有办法将连接限制为仅经过身份验证的用户,如果可以,如何实现?
编辑
感谢 @john-romkey 的澄清,我现在可以在 Mosquitto 端激活身份验证,并启用限制 Web 客户端所需操作的用户。该文档还提到了身份验证插件,所以我想知道是否有任何基于令牌的身份验证插件可以消除将用户/通行证传递到前端的需要。