jboss配置ejb容器

现在已经发布了AS 7.0.1,下面让我们看看有哪些新的EJB3功能可用。 就像我在上一篇文章中提到的那样 ,AS 7.0.1现在允许您为无状态会话bean和MDB配置池。

当前,我们允许在子系统级别配置池,这意味着该池将适用于服务器上部署的所有Bean。 在一些即将发布的版本中,我们将允许在单个部署和单个Bean级别上配置池。 现在,让我们看看子系统级别的配置。

在我以前的文章中,我提到AS 7.0.1有2个发行版。 一个纯粹是webprofile,另一个(称为“ everything”)具有其他EE功能,例如对MDB的支持。 在本文中,我将使用“ Everything”发行版和JBOSS_HOME / standalone / configurations / standalone-preview.xml来解释配置。

在开始配置之前,对于不熟悉AS7的那些人,让我们看看如何使用特定的配置文件启动服务器。 首先,下载服务器,然后将二进制文件解压缩到您选择的文件夹中。 然后从命令提示符处,移至安装的“ bin”文件夹。 在此文件夹中,您将看到standalone.bat / standalone.sh和domain.bat / domain.sh。 在本文中,我们将专注于独立服务器,但是对于域配置中的EJB3子系统也是如此。

启动独立服务器

因此,让我们启动服务器。 我在Linux系统上,因此我将使用standalone.sh文件。 在Windows上,您必须使用standalone.bat。

jpai@jpai-laptop:bin$ ./standalone.sh

在大约几秒钟内,您将看到服务器已启动并正在运行:

jpai@jpai-laptop:bin$ ./standalone.sh  =========================================================================  JBoss Bootstrap Environment  JBOSS_HOME: /NotBackedUp/jpai/jboss-as-7.0.1.Final  JAVA: /opt/Java/SunJava-6/jdk1.6.0_21//bin/java  JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman  =========================================================================  09:30:31,537 INFO [org.jboss.modules] JBoss Modules version 1.0.1.GA  09:30:31,765 INFO [org.jboss.msc] JBoss MSC version 1.0.0.GA  09:30:31,818 INFO [org.jboss.as] JBoss AS 7.0.1.Final "Zap" starting  09:30:32,618 WARN [org.jboss.as] No security realm defined for native management service, all access will be unrestricted.  09:30:32,693 INFO [org.jboss.as] creating http management service using network interface (management) port (9990)  09:30:32,694 WARN [org.jboss.as] No security realm defined for http management service, all access will be unrestricted.  09:30:32,703 INFO [org.jboss.as.logging] Removing bootstrap log handlers  09:30:32,720 INFO [org.jboss.as.connector.subsystems.datasources] (Controller Boot Thread) Deploying JDBC-compliant driver class org.h2.Driver (version 1.2)  09:30:32,739 INFO [org.jboss.as.clustering.infinispan.subsystem] (Controller Boot Thread) Activating Infinispan subsystem.  09:30:32,905 INFO [org.jboss.as.naming] (Controller Boot Thread) Activating Naming Subsystem  09:30:32,915 INFO [org.jboss.as.naming] (MSC service thread 1-1) Starting Naming Service  09:30:32,918 INFO [org.jboss.as.osgi] (Controller Boot Thread) Activating OSGi Subsystem  09:30:32,940 INFO [org.jboss.as.security] (Controller Boot Thread) Activating Security Subsystem  09:30:32,957 INFO [org.jboss.remoting] (MSC service thread 1-4) JBoss Remoting version 3.2.0.Beta2  09:30:32,968 INFO [org.xnio] (MSC service thread 1-4) XNIO Version 3.0.0.Beta3  09:30:32,982 INFO [org.xnio.nio] (MSC service thread 1-4) XNIO NIO Implementation Version 3.0.0.Beta3  09:30:33,182 INFO [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-4) The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/Java/SunJava-6/jdk1.6.0_21/jre/lib/i386/server:/opt/Java/SunJava-6/jdk1.6.0_21/jre/lib/i386:/opt/Java/SunJava-6/jdk1.6.0_21/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib  09:30:33,203 INFO [org.jboss.as.jmx.JMXConnectorService] (MSC service thread 1-2) Starting remote JMX connector  09:30:33,209 INFO [org.jboss.as.remoting] (MSC service thread 1-1) Listening on /127.0.0.1:9999  09:30:33,232 INFO [org.jboss.as.ee] (Controller Boot Thread) Activating EE subsystem  09:30:33,390 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-4) Starting Coyote HTTP/1.1 on http--127.0.0.1-8080  09:30:33,512 INFO [org.jboss.as.connector] (MSC service thread 1-1) Starting JCA Subsystem (JBoss IronJacamar 1.0.3.Final)  09:30:33,554 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) Bound data source [java:jboss/datasources/ExampleDS]  09:30:33,919 INFO [org.jboss.as.deployment] (MSC service thread 1-4) Started FileSystemDeploymentService for directory /NotBackedUp/jpai/jboss-as-7.0.1.Final/standalone/deployments  09:30:33,931 INFO [org.jboss.as] (Controller Boot Thread) JBoss AS 7.0.1.Final "Zap" started in 2636ms - Started 93 of 148 services (55 services are passive or on-demand)

使用其他服务器配置文件

默认情况下,standalone.sh命令使用名为“ standalone.xml”的配置文件,该文件位于JBOSS_HOME / standalone / configuration文件夹中。 该命令还允许您指定其他配置文件以启动服务器。 如前所述,我将在本文中使用standalone-preview.xml。 因此,让我们使用standalone-preview.xml启动服务器。

jpai@jpai-laptop:bin$ ./standalone.sh -server-config=standalone-preview.xml

如您所见,我们传递-server-config参数,并以standalone-preview.xml作为参数值。 默认情况下,在JBOSS_HOME / standalone / configuration文件夹中查找文件。 服务器在大约3.5秒内启动:

09:35:59,694 INFO  [org.jboss.as] (Controller Boot Thread) JBoss AS 7.0.1.Final "Zap" started in 3586ms - Started 125 of 184 services (59 services are passive or on-demand)

EJB3子系统配置

现在,我们已经了解了如何启动服务器,让我们继续查看配置。 在standalone-preview.xml中,查找如下所示的EJB3子系统:

<subsystem xmlns="urn:jboss:domain:ejb3:1.1" >  <timer-service>  <thread-pool core-threads="1" max-threads="4" />  <data-store path="timer-service-data" relative-to="jboss.server.data.dir" />  </timer-service>  <!-- EJB3 pools -->  <pools>  <bean-instance-pools>  <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5"  instance-acquisition-timeout-unit="MINUTES"/>  <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5"  instance-acquisition-timeout-unit="MINUTES"/>  </bean-instance-pools>  </pools>  <!-- Default MDB configurations -->  <mdb>  <resource-adapter-ref resource-adapter-name="hornetq-ra"/>  <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>  </mdb>  <!-- Session bean configurations -->  <session-bean>  <stateless>  <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>  </stateless>  </session-bean>  </subsystem>

这是EJB3子系统级别配置所在的位置。 让我们快速看一下其中的一些。 第一个配置是针对EJB3定时器服务的。 在本文中,我们不会对此进行过多的介绍。

EJB3池

下一个配置是“池”:

<!-- EJB3 pools -->  <pools>  <bean-instance-pools>  <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5"  instance-acquisition-timeout-unit="MINUTES"/>  <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5"  instance-acquisition-timeout-unit="MINUTES"/>  </bean-instance-pools>  </pools>

在这里配置EJB3使用的池。 在“ pools”元素中,可以使用“ bean-instance-pools”元素配置bean实例池。 在AS 7.0.1中,我们仅支持“ strict-max-pool”作为bean实例池。

严格的最大池允许您配置池的最大上限。 在运行时,当池中的所有bean实例都在使用中并且新的bean调用请求进入时,池将阻塞该请求,直到下一个bean实例可用或达到超时(在instance-acquisition-timeout中设置)为止。 每个池都有一个唯一的名称。 上面的配置显示了两个名为“ slsb-strict-max-pool”和“ mdb-strict-max-pool”的严格最大池。 您可以在其中添加一个新的严格最大池,并为其选择一个唯一的名称。 您可以手动(当服务器关闭时)编辑xml以添加新的严格最大池,也可以使用AS7随附的命令行客户端(CLI)。 在本文后面的内容中,我们将介绍如何使用CLI。

消息驱动的Bean配置

现在,让我们转到该EJB3子系统中的下一个配置:

<!-- Default MDB configurations -->  <mdb>  <resource-adapter-ref resource-adapter-name="hornetq-ra"/>  <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>  </mdb>

本节使用默认值配置MDB。

MDB的默认资源适配器

“ resource-adapter-ref”元素指定MDB将使用的默认资源适配器。 在此示例中,它表明我们使用hornetq-ra作为默认RA。

MDB的默认bean实例池

bean-instance-pool-ref充当对bean-instance-pool的引用,它将用作所有MDB的默认池配置。 在此示例中,我们看到它指向“ mdb-strict-max-pool”,我们在前面的部分中看到它被配置为严格的最大池,其中池的上限为20。 如果要更改MDB的默认bean实例池,则只需将bean-instance-pool-ref元素的pool-name属性更改为其他可用的bean实例池。 您可以通过直接编辑xml(当服务器关闭时)来执行此操作,也可以使用CLI来执行此操作(稍后将看到如何完成此操作)。

无状态会话Bean配置

转到EJB3配置的下一部分,您将看到:

<!-- Session bean configurations -->  <session-bean>  <stateless>  <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>  </stateless>  </session-bean>

在这里配置会话Bean的默认值。 就像我们在MDB中看到的一样,以上配置显示了如何为无状态会话Bean配置默认Bean实例池。 在这里,我们看到“ slsb-strict-max-pool”被用作默认值。 与MDB一样,您可以通过直接在xml中或通过CLI更改bean-instance-pool-ref元素的pool-name属性,来更改无状态会话bean的默认bean实例池。

使用命令行客户端(CLI)

AS7带有功能强大的命令行客户端。 查看CLI上的AS7文档以获取快速参考。 命令行客户端工具是使用JBOSS_HOME / bin文件夹中的jboss-admin.sh/jboss-admin.bat脚本启动的:

jpai@jpai-laptop:bin$ ./jboss-admin.sh

运行该脚本时,您会注意到以下消息,该消息使您可以连接到服务器:

You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.  [disconnected /]

CLI需要运行中的服务器才能连接。 因此,如果您尚未启动服务器,请先启动它(如上一节中所述)。 现在,让我们通过命令行连接到服务器:

[disconnected /] connect  Connected to standalone controller at localhost:9999  [standalone@localhost:9999 /]

因此,CLI现在已连接到正在9999端口上监听localhost的服务器。可以为CLI传递不同的主机名和端口以进行连接,但是现在就不要再讨论了。

通过CLI连接到服务器后,现在就可以从CLI运行操作来管理正在运行的服务器。 现在让我们看看如何管理EJB3子系统的bean实例池配置。

从CLI创建一个新的strict max bean实例池

从CLI连接到服务器后,可以按以下方式创建一个新的strict max bean实例池:

[standalone@localhost:9999 /] /subsystem=ejb3/strict-max-bean-instance-pool=new-pool:add

我建议您阅读CLI文档,以更好地理解该命令。 但是,让我简要地分解上面的命令并解释每个部分的作用。

需要注意的重要一点是,您不必在CLI上键入所有内容。 CLI提供了一个非常非常有用的制表符完成功能! 因此,输入/ subsystem =并按选项卡将显示可用的选项。

了解Bean实例池创建命令

从CLI文档:

操作请求基本上由三部分组成:地址,操作名称和一组可选参数。

操作请求的正式规范为:

[/node-type=node-name (/node-type=node-name)*] : operation-name [( [parameter-name=parameter-value (,parameter-name=parameter-value)*] )]

在此示例中,我们的目标是创建一个新的strict max bean实例池。 这可以通过发出“添加”操作来完成。 在我上面发布的命令中,请注意最后使用“:add”。 操作始终以“:”开头,后跟操作名称。 因此,在上面的示例中,我们正在执行“:add”操作。

现在,必须在特定的“资源”上执行“添加”操作。 即服务器必须知道要添加什么以及在哪里。 这称为寻址。 为了运行操作,需要提供一个地址(不要将此与服务器的主机名/端口“地址”混淆,这是完全不同的)。 用AS7管理术语来说,服务器由可管理的“资源”组成,每个资源都有其自己的地址。 例如,可以解决组成服务器配置的每个子系统。 要从命令行客户端引用ejb3子系统,请使用/ subsystem = ejb3(可以使用制表符补全)。

假设我们正在创建的新池将被命名为“新池”。 因此,最终需要执行“添加”操作的地址如下所示:

/subsystem=ejb3/strict-max-bean-instance-pool=new-pool

最后,我们将地址和操作结合起来并从CLI运行它

[standalone@localhost:9999 /] /subsystem=ejb3/strict-max-bean-instance-pool=new-pool:add

操作成功完成后,将显示以下输出:

[standalone@localhost:9999 /] /subsystem=ejb3/strict-max-bean-instance-pool=new-pool:add  {"outcome" => "success"}

所有管理操作都保留在服务器配置文件中。 在我们的例子中,它是standalone-preview.xml,因为这是我们用来启动服务器的文件。

运行该操作后,您现在可以在文本编辑器中打开standalone-preview.xml,并注意已将名为“ new-pool”的新的严格的最大bean实例池添加到“ bean-instance-pools”中:

<pools>  <bean-instance-pools>  <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>  <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>  <strict-max-pool name="new-pool"/>  </bean-instance-pools>  </pools>

尚未设置max-pool-size和其他属性,将使用默认值。 这是因为在运行操作时,我们没有为这些属性指定任何值。 现在,让我们尝试发出一个命令来创建另一个具有某些特定属性值的池(名为“ take2”)。 现在,该命令将如下所示:

[standalone@localhost:9999 /] /subsystem=ejb3/strict-max-bean-instance-pool=take2:add(max-pool-size=15,timeout=2)

因此,上面的命令与上一个命令相似,除了池的名称为“ take2”,并且我们还额外指定了最大池大小为15和超时为2并将timeout-unit为默认值。 请注意,编写该命令时可以使用制表符补全。 运行该命令时,您将看到以下输出:

[standalone@localhost:9999 /] /subsystem=ejb3/strict-max-bean-instance-pool=take2:add(max-pool-size=15,timeout=2)  {"outcome" => "success"}

现在,standalone-preview.xml如下所示:

<pools>  <bean-instance-pools>  <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>  <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>  <strict-max-pool name="new-pool"/>  <strict-max-pool name="take2" max-pool-size="15" instance-acquisition-timeout="2"/>  </bean-instance-pools>  </pools>

请注意,“ take2”池的max-pool-size和instance-acquisition-timeout值设置为我们在CLI上指定的值。

这样便可以从CLI创建新的bean实例池。

设置/更改MDB和SLSB使用的默认bean实例池

在上一节中,我们看到了如何创建一个新的bean实例池。 现在,如果我们希望这个新池成为MDB和/或SLSB的默认池配置,那么我们可以使用CLI来做到这一点。

首先让我们看看如何为MDB完成它:

[standalone@localhost:9999 /] /subsystem=ejb3:write-attribute(name=default-mdb-instance-pool, value=take2)

因此,我们正在/ subsystem = ejb3地址上执行“写属性”操作,以写入名为“ default-mdb-instance-pool”的属性,其值为“ take2”。 有效地,此命令将从“ mdb-strict-max-pool”更改默认的MDB bean实例池(请记住,我们之前在standalone-preview.xml中的bean-instance-pool-ref部分中看到了这一点。 MDB)到我们创建的“ take2”池。 运行此命令将显示以下输出

[standalone@localhost:9999 /] /subsystem=ejb3:write-attribute(name=default-mdb-instance-pool, value=take2)  {"outcome" => "success"}

现在,如果在文本编辑器中打开standalone-preview.xml,您将注意到更改已完成– MDB配置现在将“ take2”用作所有MDB的默认池配置(此后)。

<mdb>  <resource-adapter-ref resource-adapter-name="hornetq-ra"/>  <bean-instance-pool-ref pool-name="take2"/>  </mdb>

对于无状态会话Bean配置,我们也可以这样做。 该命令是:

[standalone@localhost:9999 /] /subsystem=ejb3:write-attribute(name=default-slsb-instance-pool, value=new-pool)  {"outcome" => "success"}

在这里,我们将default-slsb-instance-pool设置为我们先前创建的“ new-pool”。 现在,standalone-preview.xml文件将如下所示:

<session-bean>  <stateless>  <bean-instance-pool-ref pool-name="new-pool"/>  </stateless>  </session-bean>

就是这样了! 现在,我们已经使用CLI来配置/管理EJB3池。

禁用MDB和无状态会话Bean的池

我们还允许为MDB和SLSB禁用池。 但是,并不总是建议这样做,因为它可能会影响性能。 如果作为开发人员,您知道您的bean在构造期间不会太重(即,在构造函数中没有任何负担,在@PostConstruct中没有任何负担),那么有时它有助于禁用对bean的合并。 当前,唯一的方法是从EJB3子系统配置中的和/或元素中删除该元素。 目前,我们尚无法通过CLI进行此操作,也无法在每个部署或每个bean级别上指定此方法。

因此,如果您知道禁用池化将使您受益,那么可以通过它来禁用池化。

摘要

我没想到这个博客会花那么长的时间。 但是由于其中大多数是AS7中的新功能,因此值得编写。 因此,在此博客中,我们了解了如何配置EJB3 Bean实例池以及在何处配置EJB3实例池,如何创建新的Bean实例池,如何更改MDB和无状态会话Bean的默认Bean实例池。 我们还看到了如何使用AS7中的CLI来完成所有这些操作。

参考: JBoss AS 7.0.1 –从我们的JCG合作伙伴 Jaikirian的“ Jaitech WriteUps”博客中 配置EJB3池 。

相关文章 :
  • JBoss AS 7.0.2“ Arc”发布–使用绑定选项
  • 具有Spring和Maven教程的JAX–WS
  • JBoss 4.2.x Spring 3 JPA Hibernate教程
  • 调试生产服务器– Eclipse和JBoss展示
  • Java EE6 CDI,命名组件和限定符
  • Java教程和Android教程列表

翻译自: https://www.javacodegeeks.com/2011/11/jboss-as-7-ejb3-pools-configuration.html

jboss配置ejb容器

jboss配置ejb容器_JBoss AS 7 EJB3池配置相关推荐

  1. JBoss AS 7 EJB3池配置

    现在,AS 7.0.1已经发布,让我们看一下可用的EJB3新功能. 就像我在上一篇文章中提到的那样 ,AS 7.0.1现在允许您为无状态会话bean和MDB配置池. 当前,我们允许在子系统级别配置池, ...

  2. java 连接池配置_【Java】java数据库连接池配置的几种方法

    今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META- ...

  3. 覆盖php配置文件,配置 – 用另一个文件覆盖php-fpm池配置值

    必须自定义新服务器的php-fpm池配置,我想知道是否有可能/允许/建议有一个新的池文件,该名称在原始文件之后按字母顺序排列,其中只有值覆盖初始配置. 原始配置位于/etc/php/7.0/fpm/p ...

  4. 由Docker的MySQL官方镜像配置的容器无法启动问题解决办法(修改配置后无法启动)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 为了方便阅读,我在原文基础上加了一些批注,说明我自己的情况,用红色标示. 这篇文章记录了我在使用 D ...

  5. Hibernate连接池配置实例

    Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.在Hibernate连接池配置时需要注意的有三点: 一.Apche的DBCP在Hibernate2中受支 ...

  6. HikariCP连接池配置

    2019独角兽企业重金招聘Python工程师标准>>> HikariCP号称性能最好的Java数据库连接池.虽没做过亲测但是公司项目一直在用,大概经历过2万左右用户同时在线,链接池性 ...

  7. mysql数据库连接_mysql数据库连接池配置教程

    在与数据库进行连接的时候,会牵扯到数据库连接池的配置,本文将详细介绍mysql数据库连接池配置,需要了解跟多的朋友可以参考下 第一步:写javabean package withouttears.jd ...

  8. mybatis开启log_mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台...

    杂七杂的杂 作为程序员,开发工程中,一套利于测试或者监控的工具很重要,mybatis默认没有提供log4j的打印sql语句的配置. 这对于开发rest服务,提供接口的开发者而言,是在很不好做,再加上m ...

  9. intellij配置EJB项目入门

    intellij配置EJB项目入门 使用的环境 -jdk1.8 -wildfly10 在intellij上配置一个入门级的EJB项目竟然浪费了一天时间,感觉自己碰到了所有网上提到的容易出现的问题(还是 ...

最新文章

  1. flash中制的SWC组件怎样导入到flex中使用
  2. 黄聪:ICTCLAS分词系统研究(一)(转)
  3. IP地址分类:静态/动态/公共/私有
  4. 分布式爬虫系统设计、实现与实战:爬取京东、苏宁易购全网手机商品数据+MySQL、HBase存储...
  5. 在Ubuntu系统中安装Docker
  6. java查看虚拟机信息_java分析工具系列4:jinfo(实时的调整和查看虚拟机信息)...
  7. 用SAP Authority Object 对权限控制
  8. easyui树拖拽排序java_easyui tree 拖拽功能并将数据返回后台保存至数据库
  9. html 轮播 平移,网站轮播图的实现-平移版
  10. 学会拐弯,才是人生大智慧(深度好文)
  11. DFF之--(一)神经网络入门之线性回归
  12. Leetcode 杂题
  13. matlab2c使用c++实现matlab函数系列教程-flipud函数
  14. 图像测试环境软件,Digimizer(图像测量分析软件)
  15. MySQL之MHA集群的详细教程
  16. post接口请求测试,通俗易懂
  17. 新计算机c盘太小,Windows自带C盘扩容方法,c盘太小怎么重新分区
  18. 【informix】informix 日期字段
  19. 计算机桌面图标有哪两类,计算机基础100题
  20. Java工作5年的迷茫,是否要转互联网?

热门文章

  1. 人脸认证源码faceIdentify
  2. 系统架构设计师考试 重要的部分
  3. java.util.concurrent.locks.Lock文档说明
  4. volatile关键字的作用
  5. 纯注解开发配置spring
  6. Spring boot (5):Spring data jpa 的使用
  7. spring依赖注入_Spring依赖注入
  8. envoy api 网关_为Envoy构建控制平面的指南-特定于域的配置API
  9. activemq消息持久化_ActiveMQ 5.x中的消息持久性
  10. 上下文异常中的上下文属性_在没有适当上下文的情况下引发异常是一种不良习惯...