首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【方向盘】Java EE几十种技术,“活着的”还剩几何(企业应用技术篇)

Bean Validation 推荐学习指数 ⭐️⭐️⭐️⭐️⭐️ 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节。...比如参数不能为null,email必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太低,在时间、成本、质量的博弈中必然会落后。...EJB技术的诞生标志着Java Beans的运行正式从客户端领域扩展到服务器领域。 用于基于组件的事务性分布式编程。EJB不仅指定了bean格式,而且定义了运行bean的容器必须提供的一组服务。...因此,开发人员无需担心服务细节,例如安全性,事务支持或任何远程对象访问。如此以至,想运行EJB必须有EJB容器,如JBoss,WebLogic,WebSphere等…就问你重不重?...JTA 推荐学习指数 ⭐️⭐️⭐️ Java Transaction API (JTA):用于描述Java EE框架中事务管理器与应用程序,资源管理器,以及应用服务器之间的事务通讯。

1.1K40

找不到BufferedImage这个Class的解决方法

找不到BufferedImage这个Class的解决方法 环境:       [1]RedHat AS5 64位       [2]WebSphere6.0 32位版本 正文:     发现原来在RedHat...在WebSphere管理器中为应用程序添加共享库,在共享库中添加 graphics.jar包的路径(包括名称),然后把该共享库添加到应用程序中。    ...libXmu-1.0.4-1.fc9.i386.rpm安装上去,然后使用 ln -s命令软链接到WebSphere的[这里省略]/WebSphere/AppServer/java/jre/bin 目录,...类似方式安装libXp-1.0.0-11.fc9.i386.rpm这个包,在bin目录中建立软件链接 libXp.so.6,使这个链接指向新装的32位so库中。重启WebSphere问题解决。...备注: 发生错误后,只有重启WebSphere才能看到新的修改(包括添加so库)产生的影响,否则老是提示旧的错误信息。 或则是只提示,找不到BufferedImage的定义。

2.1K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    工作流中容器化的依赖注入!Activiti集成CDI实现工作流的可配置型和可扩展型

    环境的流程执行 BPMN业务流程通常是一个长时间运行的操作,包含了用户和系统任务的操作 运行过程中,流程会分成多个单独的工作单元,由用户和应用逻辑执行 在activiti-cdi中,流程实例可以分配到cdi...当前任务已经完成,并让流程实例继续执行 BusinessProcess bean是 @Named bean, 意思是导出的方法可以通过表达式语言调用: 比如在JSF页面中.下面的JSF 2 代码启动一个新的交互....默认行为会在activiti返回后结束会话.可以禁用结束会话的功能 在流程中引用bean Activiti-cdi使用自定义解析器把CDI bean暴露到activiti El中,可以在流程中引用这些...activiti就配置成了使用CDI事件总线发布事件 在CDI bean中处理事件的方式: 使用@Observes注解声明特定的事件监听器 事件监听是类型安全的 流程事件类型是org.activiti.cdi.BusinessProcessEvent...中的更多功能 流程引擎和服务都可以注入: Inject ProcessEngine,RepositoryService,TaskService,...

    1.1K20

    JavaEE中资源注入松耦合的实现 | 从开发角度看应用架构13

    虽然CDI是在Java EE 6中引入的,但CDI背后的概念已经出现在各种框架中,包括Spring,Google Guice等。...在JBoss EAP上运行的Java EE 7应用程序中,开发人员通常会将这两种技术相互结合使用。 所有EJB都是CDI bean,因此可以访问依赖注入,并且有资格自己注入。...EJB规范建立在CDI规范的基础上,提供更多功能,区分无状态bean和有状态bean。 EJB还提供其他功能,例如并发功能,bean池,安全性以及CDI中未包含的其他功能。...在EAP服务器日志中,请注意AllCaps类的post构造方法输出仅在单击submit后但在实际使用对象的方法之前发生: ? 更新NameUtil注入以使用@Title限定符。...调用的是TitleCase类: ? 在EAP服务器日志中,请注意打印TitleCase类的post-construct方法输出: ?

    1.2K20

    Spring源码剖析8:Spring事务概述

    包中,Spring提供的对OC4J10.1.3+应用服务器事务管理器的适配器,此适配器用于对应用服务器提供的高级事务的支持; WebSphereUowTransactionManager:位于org.springframework.transaction.jta...包中,Spring提供的对WebSphere 6.0+应用服务器事务管理器的适配器,此适配器用于对应用服务器提供的高级事务的支持; WebLogicJtaTransactionManager:位于org.springframework.transaction.jta...包中,Spring提供的对WebLogic 8.1+应用服务器事务管理器的适配器,此适配器用于对应用服务器提供的高级事务的支持。...Spring不仅提供这些事务管理器,还提供对如JMS事务管理的管理器等,Spring提供一致的事务抽象如图9-1所示。 ?...图9-1 Spring事务管理器 接下来让我们学习一下如何在Spring配置文件中定义事务管理器: 一、声明对本地事务的支持: a)JDBC及iBATIS、MyBatis框架事务管理器 java代码:

    57310

    干货分享:基于JBoss的七个Java应用场景

    RestfulClient:包含一个将HTTP请求发送到部署到JBoss EAP服务器的RESTful服务的类。 客户端在独立于JBoss EAP服务器的Java VM中运行。...Domain中的一个或多个Server组成一个 Server Group 在本实验中,我们模拟三个服务器:host0、host1、host2(通过使用不同的端口,在一个虚拟机上模拟多个host) host0...ServiceBean是一个无状态的EJB。代码中的Event的作用是:每当对数据库进行更改时,CDI事件触发一个事件。...EntityManager是负责管理Entity的对象。对Entity的操作包括添加、删除、修改和查询,都是通过实体管理器来实现的。...该文件的作用是让 CDI激活应用。 接下来,运行应用: ? ? 然后通过浏览器访问应用: ? 在页面输入一些数值: ?

    2.3K50

    重点来了:事务一致性的深入研究&EJB的全生命周期 | 从开发角度看应用架构5

    有状态的EJB(对象)是通过JNDI调用或CDI注入在应用程序服务器内存中创建的,并且已准备好让其客户端调用其业务方法。...Ready: 无状态EJB(对象)通过JNDI调用或CDI注入在应用程序服务器内存中创建,并准备好让客户端调用其业务方法。 ? 3....Ready:单启动EJB(单个对象)在启动时或在CDI注入时在应用程序服务器内存中创建,并准备好让其客户端调用其业务方法。 由于在其生命周期内只有一个EJB实例,因此没有概念池。...在出现错误或者异常的情况下,会自动触发应用程序服务器的回滚。CMT中,不允许在单个bean方法中嵌套事务。开发人员可以使用称为“事务属性”的注释来覆盖方法级别的默认事务行为。...hello()方法为每个在UI中输入名称并返回包含当前日期和时间的问候的人员在数据库中创建一个新条目(下面标黄部分,显示返回值是hello + 输入值的拼接,以及当前的时间)。

    87740

    发送和接收IBM WebSphere MQ消息

    注意:如果收到 错误,则表示缺少动态链接库,并且messages.log文件(在系统管理器的目录中)有更多详细信息。...指定队列名称的字符串;这应该是指定队列管理器的有效队列。b. 指定队列管理器的字符串;它应该是IBM WebSphere MQ服务器上的有效队列管理器。...如果省略此参数,系统将使用IBM WebSphere MQ中配置的默认队列管理器。或者,如果IBM WebSphere MQ已配置为队列管理器由队列名称确定,则系统将使用适合给定队列名称的队列管理器。...注意:如果收到 错误,则表示缺少动态链接库,并且messages.log文件(在系统管理器的目录中)有更多详细信息。...QMgr-指定要使用的队列管理器;它应该是IBM WebSphere MQ服务器上的有效队列管理器。如果省略此参数,系统将使用IBM WebSphere MQ中配置的默认队列管理器。

    2.9K30

    IBM WebSphere MQ 7.5基本用法

    QM_TEST相当于就是db instance中的schema(或user) 命令行创建的队列管理器默认是不活动状态的,可以用 strmqm QM_TEST 来启动队列管理器 三、创建队列 如果说“队列管理器...”是db中的schema,那么"队列"就相当于db中的Table了,而队列中的每条"消息",就相当于Table中的每条记录,继续在命令行窗口模式下,输入 runmqsc QM_TEST 将进入MQ的交互命令模式...,因为有些操作只能用命令行完成,比如后面要提到的修改队列管理器编码) WebSphere MQ Explorer中,从"帮助"菜单里调出帮助文档,里面有一个不错的教程,强烈推荐新手看一遍 ?...更换当前用户,建一个mqm用户组(MQ安装后,会默认创建该Windows用户组)的用户,然后以该用户身份登录操作 2.参考IBM上的解释,如果出于学习目的,最简单的做法,就是在runmqsc交互模式下,...,接下来的事情大家都知道 八、字符集编码问题 每个队列管理器,都有一个CCSID的属性,对应的就是字符集编码,在windows系统中,这个编码应该是1381,如果你是用其它OS(比如linux)的配置通过脚本导入

    3.6K80

    Spring认证中国教育管理中心-Spring Data JPA 参考文档七

    使用JpaContext在自定义实现 当使用多个EntityManager实例和自定义存储库实现时,您需要将正确的连接EntityManager到存储库实现类中。...CDI集成 存储库接口的实例通常由容器创建,因此在使用 Spring Data 时,Spring 是最自然的选择。Spring 为创建 bean 实例提供了复杂的支持,如创建存储库实例中所述。...从 version 1.1.0 开始,Spring Data JPA 附带了一个自定义 CDI 扩展,允许在 CDI 环境中使用存储库抽象。该扩展是 JAR 的一部分。...所有配置所做的就是将 JPA 重新导出EntityManager为 CDI bean。...Spring Data JPA CDI 扩展将所有可用EntityManager实例作为 CDI bean选取,并在容器请求存储库类型的 bean 时为 Spring Data 存储库创建代理。

    1K20

    quarkus依赖注入之一:创建bean

    从 2.0 版开始,CDI 面向 Java SE 和 Jakarta EE 平台,Java SE 中的 CDI 和 Jakarta EE 容器中的 CDI 共享core CDI 中定义的特性。...简单看下CDI规范的内容(请原谅欣宸的英语水平): 该规范定义了一组强大的补充服务,有助于改进应用程序代码的结构 给有状态对象定义了生命周期,这些对象会绑定到上下文,上下文是可扩展的 复杂的、安全的依赖注入机制...与拦截器和装饰器关联 通过触发和观察事件,以松散耦合的方式交互 上述场景的对象统称为bean,上下文中的 bean 实例称为上下文实例,上下文实例可以通过依赖注入服务注入到其他对象中 关于CDI...继续看spring官方的demo,如下所示,用Component注解修饰在类上,spring就会实例化MyComponent对象并注册在bean容器中,需要用此bean的时候用Autowired注解就可以注入了...、或者从多个HelloService实现类中选择一个),没错,在SpringBoot的Configuration类中咱们也是这样做的 前面的getHelloService方法的返回值,可以直接在业务代码中依赖注入

    1.1K50

    Quarkus的拦截器ContainerRequestFilter注入Bean异常(19)

    前言 今天升级了quarkus到最新版本1.8.0.final版本,然后就GG了,之前在ContainerRequestFilter注入的一个业务Bean就报错了,百度和Google 了半天没找到具体的解决方案...,注入的对象是一个日志服务对象,日志服务对象中包含了访问数据库的JPA对象EntityManager实例,然后就报错了 异常信息 Caused by: java.lang.RuntimeException...) 异常的message中已说明了,在实例化filter的时候,EntityManager对象还未初始化,所有注入失败了。...如果用异常message搜解决方案肯定都是搜索到quarkus的CDI文档,quarkus的CDI文档中确实给出了解决方案,但是实施起来比较复杂,最终博主在一个stackoverflow解答中找到了灵感解决了问题...javax.inject.Provider接口包装了下,如此抽象作用域,以便可以从包含作用域的实例中查找范围较小的实例。

    21140

    IBM WebSphere MQ 系列(三)配置和使用WebSphere MQ

    配置和使用WebSphere MQ A.设置环境变量   在shell中执行MQ的控制命令:     ctrmqm     strmqm   若识别这些命令,则说明PATH环境变量已配置好了;   若提示找不到命令.../var/mqm/.bash_profile,只对当前用户可见。    ...B.MQ服务器单机测试 任务:MQ服务器本地发送和收取消息   1.创建名为 QM_APPLE 的缺省队列管理器       shell命令:       crtmqm -q QM_APPLE  ...C.两台MQ服务器消息通信测试   前提:假如有两台MQ服务器:A和B,服务器B的IP为192.168.222.132             A已建立队列管理器QM_APPLE和本地队列LQA;           ...至此,完成WebSphere MQ的配置和基本功能使用。   MQ V7.0 在线帮助文档   MQ V7.5 在线帮助文档

    6.4K90

    JAVA CDI 学习(2) - Scope 生命周期

    在上一节中,我们已经知道了如何用@Inject实现基本注入,这一节研究Bean实例注入后的“生命周期”,web application中有几种基本的生命周期(不管哪种编程语言都类似) 1、Application...(哪怕你把当前Tab标签页面给关掉,或者在当前url地址栏,输入一个其它不相关的网址,跳到其它网站,然后再回过来访问web app,只要Session不超时,Session仍有效)。...我们在web开发中,经常会用到ajax,page1上的ajax向另一个页面page2发起请求时,会建立client到server的短时连接,如果想在ajax请求期间,让多个page之间共同访问一些变量(...Conversation,多个页面之间根据唯一的cid来匹配使用哪个Conversation范围内的Bean对象,如果指定的id不对(比如:根据该cid找不到对应的conversation),系统会报错...5、生命周期的“混用”问题 如果一个Bean在设计时,被标识为@ApplicationScoped,而注入使用它的Controller类,本身又是其它类型的生命周期,比如@RequestScoped,结果会怎样

    1.3K100

    JAVA CDI 学习(1) - @Inject基本用法

    CDI(Contexts and Dependency Injection 上下文依赖注入),是JAVA官方提供的依赖注入实现,可用于Dynamic Web Module中,先给3篇老外的文章,写得很不错...,也可以继续往下看: 一、基本的Inject注入 1.1 在eclipse中先创建一个常规的maven Dynamic Web项目(不熟悉maven的,可以先看看这里),下面是完整的项目截图 ?...里面各package的代码,后面会给出。 项目的属性中,注意有几个属性要勾上(默认情况下,应该已经自动勾上了),如下图: ? 上图右侧的圆圈,其实就是CDI 1.0使用的先决条件。...为了简单起见,没有细分 业务模型、实体模型、以及web中的ViewModel) service - 代表了服务层(为了简单起见,我们把接口+实现都放在一起了,实际中,可能会把这二个分开来) controller...对象作为参数,以实现Product实例的注入 附文中示例源码下载:cdi-web-sample.zip 下一节,我们将学习Bean注入后的生命周期管理

    2.8K20

    canal源码解析(2)—位点的实现

    首先说一下我对canal中位点的理解。什么是位点?位点是 binlog事件在binlog文件中的位置。...可能原因: binlog位点被删除:此时canal server会不停打印“errno = 1236.....”的错误日志,代表该位点的binlog在mysql中已经找不到了。...步骤三:在步骤一和步骤二中解析出来的位点不一定是事务起始事件处的位点,此时在dump过程中可能找不到binlog事件所在table信息,会抛出TableIdNotFoundException异常,同时将...位点管理器的从内存中找位点,找不到从配置文件instance.properties中找。...同理先根据 logPositionManager的 primary或者secondary位点管理器的从内存中找位点,找不到从配置文件instance.properties中找。

    2.1K30

    Spring中国教育管理中心-Apache Cassandra 的 Spring 数据教程九

    11.3.3.CDI集成 存储库接口的实例通常由容器创建,在使用 Spring Data 时,Spring 容器是最自然的选择。...Spring Data for Apache Cassandra 附带一个自定义 CDI 扩展,允许在 CDI 环境中使用存储库抽象。该扩展是 JAR 的一部分。...扩展将CassandraOperations作为 CDI bean获取,并在容器请求存储库类型的 bean 时为 Spring Data 存储库创建代理。...它建立在Cassandra Repositories 中解释的核心存储库基础设施之上,因此您应该对那里解释的基本概念有很好的理解。...在测试用例(测试方法)中,我们使用存储库来查询数据存储。我们调用请求所有Person实例的存储库查询方法。

    1.8K20
    领券