当前位置: 首页 > 知识库问答 >
问题:

在 IBM 自由服务器中实现并发

令狐宜民
2023-03-14

我在IBM-liberty服务器上工作,需要实现5个线程的并发性。我浏览了IBM官方网站上的一些链接。但是不知道应该如何配置server.xml,以便每当我在liberty server 5上部署我的Java应用程序时,线程将同时运行我的Java组件。谁能帮我举一个很难的例子。以下是我代码库,

我已通过以下更改修改了我的server.xml,

<featureManager>
      <feature>concurrent-1.0</feature>
    </featureManager>

    <managedScheduledExecutorService jndiName="concurrent/scheduledExecutor1">
        <contextService jndiName="concurrent/threadContextSvc2"/>
        <concurrencyPolicy max="2"/>
    </managedScheduledExecutorService>

web.xml

<resource-env-ref>
        <resource-env-ref-name>concurrent/scheduledExecutor1</resource-env-ref-name>
        <resource-env-ref-type>javax.enterprise.concurrent.ManagedScheduledExecutorService</resource-env-ref-type>
    </resource-env-ref>
    <resource-env-ref>
        <resource-env-ref-name>concurrent/threadContextSvc2</resource-env-ref-name>
        <resource-env-ref-type>javax.enterprise.concurrent.ContextService</resource-env-ref-type>
    </resource-env-ref>

main()方法

InitialContext initialContext = new InitialContext();
            executor = (ManagedScheduledExecutorService) initialContext.lookup("concurrent/scheduledExecutor1");
            executor.submit(new OrderProcessCI());

run() 方法

public void run() {
        System.out.println(" Thread name :: "+Thread.currentThread().getName()+" Thread id :: "+Thread.currentThread().getId());
    }

在上面的代码中,似乎只有单个线程在运行。正如我尝试在 run 方法中达到断点时一样,控件只出现一次。系统输出仅打印一次。我怎样才能为至少5个线程制作这个。我还检查了线程池的概念,但是我如何才能自由地实现它。任何人都可以帮我举任何例子。

共有1个答案

扈运浩
2023-03-14

您只看到单个线程,因为您只向执行器执行器提交单个任务.submit(new OrderProcessCI());,如果您想要其中5个任务,则需要以某种方式向执行器提交5个实例。您是否有意使用托管计划卓越服务,因为您需要安排重复出现或将来的作业?如果只需要运行任务,请更改为使用“手动演示服务”。由于您似乎没有更改线程上下文,因此请从配置中省略它,并让执行程序使用其默认值。鉴于您所说的“5个线程”,我假设您想要的线程正好是(让执行器计算出它需要多少个线程的首选方法),您需要在服务器中执行此操作.xml

 类似资料:
  • 我正在尝试在Web Sphere liberty IBM的默认服务器中安装一个jar库,我已经尝试将它放在文件夹中:..\wlp\lib,但服务器无法识别它。我不知道我是否需要xml配置或类似的东西。 知道我可能做错了吗? 我想放在服务器中的库是:com.ibm.ws.webservices.thinclient_8.5.0.jar

  • 在之前的几篇教程中,我们讲的是如何查询和Mutation操作,这些都是在客户端那边所进行的,那么服务器这边是如何处理这些请求的呢?这就是这篇教程所要说的东西了. 准备工作 克隆库: git clone https://github.com/zhouyuexie/learn-graphql 安装依赖: cd learn-graphql && npm install cd learn-graphql

  • 在启动 Websphere liberty 服务器时注意到以下异常。如何删除它?感谢任何帮助。我们同时安装了javaee7配置文件和webProfile-6.0功能。EAR 应用程序有一个使用 jee6.0 / “3.0” web的 WAR 文件.xml

  • 我的角2应用程序在我的本地节点服务器上运行良好。然而,当dist/prod内容部署到服务器(准确地说是webphere自由服务器)时,url只能正常工作一次。当我尝试重新加载它时,它给我文件未找到异常。此外,http://localhost:5555/myapp/route1/somefeature/extra的深层路由也不起作用,并抛出相同的异常。 只是为了确认: < li >我使用了正确的ba

  • 我正在Spring引导中开发应用程序,并在 IBM 自由服务器中部署应用程序。到目前为止,我已经在本地 maven 存储库中安装了 ojdbc8.jar,在 pom 中包含了 ojdbc8.jar的依赖项.xml并将其打包到部署在外部 IBM Liberty 服务器的 war 文件中。现在我们需要将 ojdbc8 外部化.jar即将其移出 war 文件,将其安装在 IBM Liberty 服务器中

  • 但是,在谈到安全性时,尝试为api网关实现oauth。但是现在我在Spring1.x版本中用来获取访问令牌的'oauth/token'endpoint在SpringBoot2中无法工作。 当我在谷歌搜索时,spring Boot2对spring security 5进行了一些更改,使其默认加密和解密 客户端ID 客户端-机密 用户密码 {“时间戳”:“2018-06-28T17:31:07.181