j2ee之wildfly实践9--使用infinispan过期缓存

Coder_fang Coder_fang     2022-10-01     688

关键词:

背景:基于wildfly 10,我们使用内置的infinispan缓存,本次实例只适用于同一jvm下,不能进行分布式使用。

 (转载请注明来源:cnblogs coder-fang)

 

 

  1. 在standalone.xml中找到<subsystem xmlns="urn:jboss:domain:infinispan:4.0">,在此节点下加入:
    <cache-container name="appcache" default-cache="session" statistics-enabled="false"/>

     

  2. 在ejb项目中(例如之前实践中的DAS项目)的POM中加入相关依赖:
          <!-- for cache-->
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-clustering-infinispan-extension</artifactId>
                <version>10.0.0.Final</version>        
                <scope>provided</scope>    
            </dependency>

     

  3. 在pom文件中修改maven-assembly-plugin,加入infinispan依赖:
    <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <finalName>${project.build.finalName}</finalName>
                        <archive>                        
                            <manifestEntries>
      
    <!-- infinispan depend --> <Dependencies>org.infinispan, org.infinispan.commons, org.jboss.as.clustering.infinispan export</Dependencies> </manifestEntries> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <appendAssemblyId>false</appendAssemblyId> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>

     

  4. 创建一个ejb singleton bean,并注入cache contanier:
        @Resource(lookup="java:jboss/infinispan/container/appcache")    
        EmbeddedCacheManager container;

     

  5. 在bean的初始化函数如@PostConstruct 中设置 缓存的过期时间,此事例设置为6秒:
      @PostConstruct
        public void init()
        {
            
            container.defineConfiguration("session",new ConfigurationBuilder()
                    .expiration().lifespan(6000)
                    .build());
    
            cache=container.getCache();
            logger.debug("cache name:"+cache.getName());
            logger.debug("cache lifespan:"+cache.getCacheConfiguration().expiration().lifespan());
            
            logger.info("init----");
        }

    注:如上所示,当put value进入缓存后,6秒之后自动删除此value

  6. 使用 cache.put(key,value),cache.remove(key)进行增加与删除缓存,或使用cache.values()来遍历缓存,这里不在演示。

总结:如果不设置相关过期时间,value只能通过remove删除,或wildfly停止后,所有缓存也将清空。

wildfly实践5---分布式服务中的jms服务访问

实践条件与目标:  1.  分布式服务中主从服务相关配置  2.  从服务中主要代码片段展示  3.  此次使用wildfly10,因为其默认的jms服务是activemq. 步骤:主服务配置中使用standalone-full.xml启动,其自带activemq模块。使... 查看详情

Wildfly 8 到 9:无法迁移数据源

】Wildfly8到9:无法迁移数据源【英文标题】:Wildfly8to9:Datasourcescan´tgetmigrated【发布时间】:2015-12-1915:38:29【问题描述】:我正在尝试使用新的wildfly9.0.1final。之前,我使用的是Wildfly8.2。我已经将Standalone/config文件夹从8.2复制到了... 查看详情

从 JBoss 7 迁移到 WildFly 9 时使用 CMT 的 EJB

】从JBoss7迁移到WildFly9时使用CMT的EJB【英文标题】:EJBwithCMTwhenmigratefromJBoss7toWildFly9【发布时间】:2018-11-0215:42:48【问题描述】:我正在将我的应用程序从JBoss7迁移到WildFly(v9.0.1),但由于bean事务管理错误而未部署。Causedby:javax.nami... 查看详情

Wildfly 9 上的部署失败

】Wildfly9上的部署失败【英文标题】:DeploymentfailedonWildfly9【发布时间】:2015-08-0522:21:38【问题描述】:我曾经在Wildfly8上遇到过这个问题,但已解决,包括$WILDFLY_HOME/modules/system/layers/base/org/eclipse/persistence/main中的eclipselink.jar并使... 查看详情

EJB 未使用 @EJB 在 Wildfly 9.0.0 中初始化

】EJB未使用@EJB在Wildfly9.0.0中初始化【英文标题】:EJBnotinitializinginWildfly9.0.0using@EJB【发布时间】:2019-03-0110:00:20【问题描述】:我正在尝试从EJB2.x迁移到EJB3.x,并且我正在使用Wildfly9.0.0。旧的EJB2.x在JBoss4.2.2中运行,它是这样的... 查看详情

Wildfly 9 http 转 https

】Wildfly9http转https【英文标题】:Wildfly9httptohttps【发布时间】:2015-11-0714:22:16【问题描述】:我想将请求从HTTP重定向到HTTPS。我正在使用wildfly9。经过谷歌搜索后,我发现了以下内容,但它不起作用。我希望有人<subsystemxmlns="ur... 查看详情

在 JBoss / Wildfly 9 上使用 JAX-RS 项目设置 Swagger.io 问题

】在JBoss/Wildfly9上使用JAX-RS项目设置Swagger.io问题【英文标题】:IssuesettingupSwagger.iowithJAX-RSprojectonJBoss/Wildfly9【发布时间】:2016-03-0806:01:24【问题描述】:我实现了一个项目,它使用一个非常简单的JAX-RS后端向基于AngularJS的UI提供... 查看详情

无法将 mysql 驱动程序与 Wildfly 9.0.2 一起使用,但它似乎已正确加载

】无法将mysql驱动程序与Wildfly9.0.2一起使用,但它似乎已正确加载【英文标题】:Can\'tusemysqldriverwithWildfly9.0.2howeverItseemslikeit\'sloadedcorrectly【发布时间】:2016-02-0812:53:00【问题描述】:我正在尝试从glassfish切换到wildfly,但我很难... 查看详情

Wildfly 9.x 无法对希腊附件文件名进行编码

】Wildfly9.x无法对希腊附件文件名进行编码【英文标题】:Wildfly9.xfailsencodinggreekattachmentfilenames【发布时间】:2016-05-0220:04:27【问题描述】:我正在使用javax.mail调用邮件服务器并将文件作为邮件附件发送,编码文件名如下:MimeUtil... 查看详情

带有 PostgreSQL 9.4 数据源的 WildFly 10 部署应用程序时出错

】带有PostgreSQL9.4数据源的WildFly10部署应用程序时出错【英文标题】:WildFly10withPostgreSQL9.4datasourceErrordeployingapplication【发布时间】:2016-08-1917:01:36【问题描述】:我在Tomcat和Oracle或MySQL方面拥有丰富的经验。这是我第一次使用WildF... 查看详情

如何将 root(/) 上下文中的 war 文件部署到 Wildfly 9.0.1 版

】如何将root(/)上下文中的war文件部署到Wildfly9.0.1版【英文标题】:Howtodeploywarfileinroot(/)contexttoWildflyver9.0.1【发布时间】:2015-11-2109:28:48【问题描述】:我是Wildfly的新手,直到现在我都在使用tomcat来部署我的应用程序。现在只是... 查看详情

JBoss Wildfly 9,JNDI 异常

】JBossWildfly9,JNDI异常【英文标题】:JBossWildfly9,JNDIexception【发布时间】:2015-10-0907:14:23【问题描述】:我是JBossWildfly的新手。我使用了JBoss7.1.1,它在具有相同更改的相同数据库上运行良好。我更改了standalone.xml文件以连接到wild... 查看详情

Hadoop Jersey 与 Wildfly resteasy 发生冲突

】HadoopJersey与Wildflyresteasy发生冲突【英文标题】:HadoopJerseyconflictswithWildflyresteasy【发布时间】:2015-10-0413:22:21【问题描述】:在一个J2EE项目中,我们使用Wildfly来部署该项目。我们在外部服务器上运行hadoop。我们想连接这个服务... 查看详情

j2ee之ant

  Ant是一种基于Java的build工具。由一些内置任务组成。这些任务用于编译和运行java应用、创建文档、文件和文件夹的操作。理论上来说。它有些类似于(Unix)C中的make,但没有make的缺陷。眼下的最新版本号为:Ant1.9.4... 查看详情

如何在 JBoss Wildfly 9 中关闭 Hibernate 调试日志记录?

】如何在JBossWildfly9中关闭Hibernate调试日志记录?【英文标题】:HowdoIturnoffHibernatedebuglogginginJBossWildfly9?【发布时间】:2015-10-1723:15:52【问题描述】:我正在使用JBossWildfly9.0.0.CR2。我有一个Spring3.2.11.RELEASEweb应用程序,我很好奇如... 查看详情

如何忽略/升级 JBoss Wildfly 9 中的模块?

】如何忽略/升级JBossWildfly9中的模块?【英文标题】:HowdoIignore/upgradeamoduleinJBossWildfly9?【发布时间】:2015-10-0600:11:33【问题描述】:我刚刚在Mac10.9.5上下载了带有Java7的Wildfly9.0.0.CR2。我注意到默认情况下,Wildfly9包含一个bouncycast... 查看详情

在 Wildfly 9 上部署 EAR 具有原始 WAR 和复制 WAR

】在Wildfly9上部署EAR具有原始WAR和复制WAR【英文标题】:DeployEARhasoriginWARandcopiedWARonwildfly9【发布时间】:2015-07-2514:58:06【问题描述】:我必须部署一个包含两个WAR的EAR,一个WAR是另一个WAR的副本。BUILD.earA.war(上下文路径:/A)B.... 查看详情

j2ee之springmvc中的web.xml一个简单调用

<?xmlversion="1.0"encoding="UTF-8"?><web-appid="WebApp_9"version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ja 查看详情