有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何用数据库实现完美的队列

我正在设计购物车,
我的购物车里有X个产品。 每种产品都与一家商店相关联

  • 示例产品1由Shop1销售
  • 示例产品2由Shop2销售
  • 示例产品3由Shop3销售
  • 示例产品4由Shop4销售

  1. 我以XML的形式获取产品1的详细信息(Shop1中的可用性和价格[当产品售出或价格改变时])
  2. 我应该在我的购物车里更新这些细节

这应该如何处理

我将项目分为两部分:

1:项目1

我创建了一个基于表单的应用程序,所有商店都使用它
当产品售出时,商店管理员将输入产品详细信息(可用单元数等)并提交。我将其转换为XML并保存到表1中

示例:
表1

Product_ID  | XML 
--------------------------------
Prod_1A     | xml  
Prod_2A     | xml  
Prod_3A     | xml  
Prod_1A     | xml  

2:项目2

在这个项目中,我使用了

ServletContextListener

每当我部署这个项目时,借助ServletContextListener contextInitialized方法
我正在创建一个Timer,每10秒运行一次。在那Timer中,我正在检查表1是否包含任何记录。如果是的话,在Timer类的run方法中,我将从中选择一条记录,并更新购物车中的数据

for (int i = 0; i <= 5 ; i++) {

    fetchFromNotif = fetchFromNotif(); // this methods picks a unique record
    if (fetchFromNotif != null) {
        new Thread()
        {
            public void run()
            {
                // updating the data in my Shopping cart DB.
            }
        };
        t.start();
    }
}

我的问题是,这是否是每10秒使用Timer并创建多个线程的正确方法?有没有更好的方法来实现这些要求

对于这种情况,有没有更好的方法来实现队列机制


共 (1) 个答案

  1. # 1 楼答案

    您还可以确定购物车中何时需要此更新的产品信息,并拉取信息而不是推送信息。也许你不需要实时更新它

    也许你可以在用户结账时查看产品库存或价格是否有更新?或者在你确定的某个点上

    这样你就可以简化事情,不用担心线程或队列