JEE:不同的间隔定时器

问题描述

我想要一个 javax.ejb.Timer,它在每次超时执行后等待下一次超时发生之前的不同时间间隔。为此,我有以下 EJB:

 server {  # [ASK]: is this what's causing the problem ? 
root /home/smiling/smiling-frontend/website/build; ## development build
index index.html;

server_name frontend.develop.smiling.be;  ## development domain


charset  utf-8;
gzip on;
gzip_vary on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
  text/plain
  text/css
  text/js
  text/xml
  text/javascript
  application/javascript
  application/x-javascript
  application/json
  application/xml
  application/xml+RSS;

location / {
  try_files $uri $uri/ /index.html;
}

location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|svg|woff|woff2|ttf)\$ {
  expires 1M;
  access_log off;
  add_header Cache-Control "public";
}

location ~* \.(?:css|js)\$ {
  expires 7d;
  access_log off;
  add_header Cache-Control "public";
}
  
location ~ /\.well-kNown {
  allow all;
}

location ~ /\.ht {
  deny  all;
}

add_header Access-Control-Allow-Origin '*/';
add_header Access-Control-Allow-Headers 'origin,x-requested-with,content-type,accept,authorization';
add_header Access-Control-Allow-Methods 'GET,POST';



listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/backend.develop.smiling.be/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/backend.develop.smiling.be/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-Nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

一旦计时器启动,它就会像预期的那样工作。但是几个小时后,我在 Java 堆中有超过 500.000 个 TimerImpl 实例。似乎 TimerService 没有释放 Timer 对象。

使用 EJB 计时器的正确方法是什么,在超时执行之间会有不同的间隔?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)