草庐IT

session-bean

全部标签

java - Bean 生命周期管理 Spring Boot

我目前正在尝试将SpringBoot应用程序部署到外部Tomcat实例中,并且遇到了一些关于如何最好地管理某些事物的实例化的问题。按照目前的结构,我有一些类似的东西publicclassMyClassextendsSpringBootServletInitializer{@BeanpublicThreadPoolpool(){returnnewThreadPool();}@BeanpublicBackgroundThreadsetupInbox(){BackgroundThreadinbox=newBackgroundThread(pool());inbox.start();retur

java - 如何在不影响原始 bean 的 'clients' 的情况下声明另一个 Jackson ObjectMapper?

我有一个公开jsonRESTAPI的spring-boot应用程序。为了将对象映射到json,它使用由spring-boot配置的内置jacksonObjectMapper。现在我需要从yaml文件中读取一些数据,我发现一种简单的方法是使用Jackson-为此我需要声明一个不同的ObjectMapper来将yaml转换为对象。我用一个特定的名称声明了这个新的映射器bean,以便能够将它注入(inject)到我处理从yaml文件读取的服务中:@Bean(YAML_OBJECT_MAPPER_BEAN_ID)publicObjectMapperyamlObjectMapper(){retu

Java Beans Introspector 需要桌面模块

我正在研究使用Jigsaw来减少微服务的占用空间。我必须找到的最后一个依赖项是java.beans.Introspector。想象一下当我发现我需要引入整个模块java.desktop时我的惊讶,它包含各种不相关的东西,如awt、applets、swing等。这对我来说似乎很疯狂,bean内省(introspection)肯定应该是基本语言的一部分,并且与UI功能无关。我认为该依赖项来自SpringBoot的嵌入式Tomcat,因此我无法自行修改它。问题:模块是您可以访问的最精细的粒度,还是有另一种方法可以减少脂肪。 最佳答案 依赖

java - mockito 未模拟的 Autowiring bean 上的空指针

我有一个服务类需要进行单元测试。该服务有一个上传方法,该方法依次调用更新数据库的其他服务(Autowiring的bean)。我需要模拟其中一些服务和一些按原样执行。@ServicepublicclassUploadServiceImplimplementsUploadService{@AutowiredprivateServiceAserviceA;@AutowiredprivateServiceBserviceB;publicvoidupload(){serviceA.execute();serviceB.execute()://code...}在上面的示例中,我需要模拟Servic

java - 如何在 Hibernate 拦截器中获取 Hibernate session ?

如何在Hibernate拦截器中获取Hibernatesession?我正在尝试使用Hibernate透明地通过组织ID强制执行数据访问。我设置了一个全局过滤器来按组织ID过滤所有查询。现在,我需要使用实体拦截器在保存/更新之前为所有实体设置组织ID。组织id来自HttpSession我在Hibernatesession中将OrganizationalId设置为Filter属性,我想在我的拦截器中检索它并将其用于所有插入和更新。问题是我似乎无法访问拦截器内的session。有什么解决方法吗? 最佳答案 你可以,但我会使用一个简单的P

java - 尝试使用 Spring 以正确的顺序销毁 bean

我有一个带有Spring的Web应用程序,它设置为创建我的hibernatesession工厂(单例)以及session和事务(两者都是请求范围的),但它以错误的顺序破坏了session和事务。我如何配置它以便在session之前销毁事务?这是我的springapplicationContext.xml文件:这是显示它在关闭事务之前关闭session的日志:16111[http-8080-3]DEBUGorg.springframework.beans.factory.support.DisposableBeanAdapter-Invokingdestroymethod'close'o

java - Hibernate session.contains(类 clazz,序列化 id)

我希望能够检查session是否包含给定类/标识符的实体。我目前看不到执行此操作的方法。contains()接受一个实体对象而不是类+键get()如果实体不存在则查询数据库,这是我不想做的load()永远不会返回null,因为代理总是被创建,所以我不能使用这个方法是否可以在不对数据库产生副作用/查询的情况下执行上述操作? 最佳答案 这个有效:publicbooleanisIdLoaded(Serializableid){for(Objectkey:getSession().getStatistics().getEntityKeys(

java - 使用 Ehcache 的 WebApp session 管理

在我的项目中,我使用ehcache来存储登录的用户详细信息和一些其他信息(哪个应用程序将在运行时使用它而不是从数据库中获取)。以下是我的ehcache配置:但问题是大部分时间session超时发生(即使用户不活跃超过30)。有时它会持续10分钟,...所有操作都将尝试根据每个请求从ehcache检索用户对象。我不确定ehcache将如何确定过期时间。 最佳答案 当满足以下条件之一时,Ehcache会从缓存中逐出对象:对象未从ehcache访问(读取或更新)超过timeToIdle秒。如果未设置timeToIdle,则此规则不适用。换

java - hibernate 和 spring 中没有 session 代理

我正在创建一个职位门户管理员。我正在使用Spring+hibernate。我已经为添加工作创建了页面,它工作正常,但是当我使用同一页面编辑工作时,出现异常:org.hibernate.LazyInitializationException:couldnotinitializeproxy-noSessionatorg.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:132)atorg.hibernate.proxy.AbstractLazyInitializer.getImpl

java - Spring 看不到 servlet-context 和 contextConfigLocation bean 之间的 bean

我有一个像这样设置的springmvc项目:appServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocation/WEB-INF/spring-contexts/servlet-context.xml1contextConfigLocation/WEB-INF/spring-contexts/configuration-context.xml如果我在configuration-context.xml中创建一个bean并在servlet-context.xml中引用一个bean,它似乎找不到它。这