【问题标题】:How to get realtime data from MySQL using Java如何使用 Java 从 MySQL 获取实时数据
【发布时间】:2020-09-03 22:08:50
【问题描述】:

我设置了每 2 秒调度一次:

private static EntityManagerFactory entityManagerFactory =
              Persistence.createEntityManagerFactory("onezero");
public static void main( String[] args )
{ 
    Timer t = new Timer();
    t.schedule(new TimerTask() {
        @Override
            public void run() {
                System.out.println("Hello World");
                try {
                long start = System.currentTimeMillis();
                //System.out.println( "Hello World!" );
                SearchEURUSD(); 
            }
            catch (Exception e) {
                System.out.print(e);
            }
        }       
    }, 0, 2000);
}

不,我希望将其更改为对我的数据库进行实时检查。如果我的数据库发生任何更改,我希望调用SearchEURUSD();。我该怎么做?

【问题讨论】:

  • 怎么做? 在 MySQL 中 - 在更改数据集时,在某些服务表中设置一些标记(例如通过触发器)。在 java 中 - 查询此服务表是否设置了标记,如果为 true,则执行所需的操作并清除标记。

标签: java mysql real-time real-time-data


【解决方案1】:

先将当前对象存入一个变量,然后使用.equals()方法进行比较。完整示例代码:

private static EntityManagerFactory entityManagerFactory =
              Persistence.createEntityManagerFactory("onezero");
    public static void main( String[] args )
    { 
        //Object is your model class
        Object currentObject=null;

        Timer t = new Timer();
    t.schedule(new TimerTask() {
        @Override
        public void run() {
           System.out.println("Hello World");
        try{
            long start = System.currentTimeMillis();
        //System.out.println( "Hello World!" );
            // initialize dbObject with the object you got from db.
            Object dbObject=objectGotFromDb;
            if(currentObject==null){
             currentObject=dbObject;
            }
            if(!currentObject.equal(dbObject){
            //Current object and db object are not equal
            SearchEURUSD(); 
            //updating the current object with updated db object.
            currentObject=dbObject;
            }
    }catch (Exception e){
        System.out.print(e);
    }
        }       
    }, 0, 2000);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2022-08-19
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多