小编Mr *_*gan的帖子

如何在Java servlet上下文中获取和设置全局对象

我想知道是否有人可以建议:我有一个场景,由Quartz运行的预定作业将每小时更新一个对象的arraylist.

但我需要这些对象的arraylist对Tomcat创建的所有会话都是可见的.所以我想的是我每隔一小时从运行的Quartz作业中的某个地方写这个对象,这样每个会话都可以访问它.

任何人都可以说这可能会达到最佳效果吗?我想知道从Quartz作业写入servlet上下文的对象?另一种方法是让每个会话从数据库表中填充对象的arraylist.

谢谢

摩根先生.

java servlets quartz-scheduler

20
推荐指数
1
解决办法
4万
查看次数

Cron触发每小时运行一半小时

任何人都可以建议一种方法来设置一个Cron触发器每小时运行一半的时间?

到目前为止,我按照"0 0/60***?"每小时工作一次.

我在看"0 0/30***?" 什么?

摩根先生.

cron triggers

5
推荐指数
1
解决办法
2万
查看次数

用Java中的Quartz运行两个作业

我有Quartz编码如下,第一个作业完美运行:

JobDetail jd = null;
CronTrigger ct = null;   
jd = new JobDetail("Job1", "Group1",  Job1.class);
ct = new CronTrigger("cronTrigger1","Group1","0/5 * * * * ?");
scheduler.scheduleJob(jd, ct);
jd = new JobDetail("Job2", "Group2",  Job2.class);
ct = new CronTrigger("cronTrigger2","Group2","0/20 * * * * ?");
scheduler.scheduleJob(jd, ct);
Run Code Online (Sandbox Code Playgroud)

但我发现Job2是Job1的一个完全独立的工作,它不会执行.

调度程序使用Java中的侦听器启动.我也尝试过使用scheduler.addJob(jd,true); 但没有变化.我在Windows 7上通过JVM运行Java.

java quartz-scheduler job-scheduling

5
推荐指数
1
解决办法
1715
查看次数

如何从字符串中获取数字?

我正在使用Java StreamTokenizer来提取字符串的各种单词和数字,但是遇到了一个问题,其中包含逗号的数字,例如10,567被读作10.0和567.

我还需要从可能出现的数字中删除所有非数字字符,例如$ 678.00应为678.00或-87应为87.

我相信这些可以通过whiteSpace和wordChars方法实现,但有没有人知道如何做到这一点?

目前基本的streamTokenizer代码是:

        BufferedReader br = new BufferedReader(new StringReader(text));
        StreamTokenizer st = new StreamTokenizer(br);
        st.parseNumbers();
        st.wordChars(44, 46); // ASCII comma, - , dot.
        st.wordChars(48, 57); // ASCII 0 - 9.
        st.wordChars(65, 90); // ASCII upper case A - Z.
        st.wordChars(97, 122); // ASCII lower case a - z.
        while (st.nextToken() != StreamTokenizer.TT_EOF) {
            if (st.ttype == StreamTokenizer.TT_WORD) {                    
                System.out.println("String: " + st.sval);
            }
            else if (st.ttype == StreamTokenizer.TT_NUMBER) {
                System.out.println("Number: " + st.nval);
            }
        }
        br.close(); 
Run Code Online (Sandbox Code Playgroud)

或者有人建议REGEXP来实现这一目标吗?我不确定REGEXP在这里是否有用,因为在从字符串中读取标记之后会发生任何parding. …

java string parsing numbers stringtokenizer

5
推荐指数
2
解决办法
3万
查看次数

在Java中使用String或StringBuffer:哪个更好?

我阅读了很多关于使用StringBuffer和String的内容,特别是在Java中涉及串联以及是否是线程安全的情况下.

那么,在各种Java方法中应该使用哪些?

例如,在PreparedStatement中,应查询为StringBuffer:

    String query = ("SELECT * " +
                    "FROM User " +
                    "WHERE userName = ?;");

    try {
        ps = connection.prepareStatement(query);
Run Code Online (Sandbox Code Playgroud)

然后,在一个String实用程序方法中,例如:

public static String prefixApostrophesWithBackslash(String stringIn) {
    String stringOut = stringIn.replaceAll("'", "\\\\'");
    return stringOut;
}
Run Code Online (Sandbox Code Playgroud)

和:

 // Removes a char from a String.
public static String removeChar(String stringIn, char c) {
    String stringOut = ("");
    for (int i = 0; i < stringIn.length(); i++) {
        if (stringIn.charAt(i) != c) {
            stringOut += stringIn.charAt(i);
        }
    }
    return stringOut; …
Run Code Online (Sandbox Code Playgroud)

java string

5
推荐指数
1
解决办法
2739
查看次数

将Java SQL Date从yyyy-MM-dd转换为dd MMMM yyyy格式的最佳方法

有没有一种直接的方法将Java SQL Date从格式yyyy-MM-dd转换为dd MMMM yyyy格式?

我可以将日期转换为字符串,然后操纵它,但我宁愿将其保留为Java SQL日期.在我需要这样做的时候,数据已经从MySQL数据库中读取,所以我不能在那里进行更改.

java format date

3
推荐指数
3
解决办法
5万
查看次数