Tag: spring

在Weblogic中部署Spring Boot应用程序

我在webLogic 12C中部署Spring启动应用程序时遇到了麻烦。 10.4.4 403禁止服务器理解请求,但拒绝履行请求。 授权无效,请求不应重复。 如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因。 当服务器不希望确切地说明请求被拒绝的原因,或者没有其他响应适用时,通常会使用此状态代码。 我想知道是否有人可以提供帮助。

使用RestTemplate进行Spring安全身份validation

我有2个春季网络应用程序,提供2组独立的服务。 Web App 1使用基于用户的身份validation实现Spring Security。 现在,Web App 2需要访问Web App 1的服务。通常,我们将使用RestTemplate类向其他Web服务发出请求。 我们如何将Web App 2请求中的身份validation凭据传递给Web App 1

Spring MessageSource是否支持多类路径?

我正在使用Spring框架为基于Web的应用程序设计插件系统。 插件是类路径上的jar。 所以我能够得到像jsp这样的资源,见下文 ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] pages = resolver.getResources(“classpath*:jsp/*jsp”); 到现在为止还挺好。 但我的messageSource有问题。 在我看来, ReloadableResourceBundleMessageSource #setBasename不支持通过“classpath *:”的多个类路径。如果我只使用“classpath:”,我只从一个插件获取messageSource。 有没有人知道如何从所有插件注册messageSources? 是否存在MessageSource的这种实现?

Spring-batch @BeforeStep不适用于@StepScope

我正在使用Spring Batch版本2.2.4.RELEASE我试着用有状态的ItemReader,ItemProcessor和ItemWriter bean编写一个简单的例子。 public class StatefulItemReader implements ItemReader { private List list; @BeforeStep public void initializeState(StepExecution stepExecution) { this.list = new ArrayList(); } @AfterStep public ExitStatus exploitState(StepExecution stepExecution) { System.out.println(“******************************”); System.out.println(” READING RESULTS : ” + list.size()); return stepExecution.getExitStatus(); } @Override public String read() throws Exception { this.list.add(“some stateful reading information”); if (list.size() < 10) […]

Tomcat-Spring-Hibernate Web应用程序中的“PermGen out of space”exception可以做些什么?

我们有一个Web应用程序,它使用Spring-Hibernate将注册用户数据保存在Oracle数据库中。 该应用程序在开发环境中运行良好,但是当我们在具有更多数据的实时环境中复制它时,它失败了。 最初应用程序正常启动,但在几次操作之后发生’PermGen out of space’exception。 我已经开始在Google,Spring和Hibernate论坛上搜索,但它没有帮助。 关于这个错误有很多讨论,但对于每个解决方案,都有人说:“它有效”,而其他人说’它没有’。 例如,许多人提出增加-XX:MaxPermSize JVM参数,其他人说它不起作用。 有post说需要使用javassist库和其他库以及cglib库的问题。 其他人说问题出在cglib上。 我们使用Java1.5_0_09,Spring 2.5和javaassist3.4.GA,Tomcat 5.5作为web容器,Oracle 10g作为数据库。 任何人都可以解释一下导致这个问题的原因以及如何解决这个问题?

在非单例bean上修复Spring代理上的BeanNotOfRequiredTypeException?

我在从应用程序上下文中提取Spring bean时遇到问题。 当我尝试; InnerThread instance = (InnerThread) SpringContextFactory.getApplicationContext().getBean(“innerThread”, InnerThread.class); 我明白了 org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ‘innerThread’ must be of type [com.generic.InnerThread], but was actually of type [$Proxy26] 如果没有getBean()调用中的指定类,我会得到一个ClassCastException(您可以在下面详细介绍)。 InnerThread bean被初始化为非单例,因为我需要多个实例。 InnerThread类还扩展了Thread。 有趣的是,这个错误出现在OuterThread中,它的设置方式与InnerThread完全相同。 我试图在下面包含所有相关的代码清单/堆栈跟踪。 有更多Spring体验的人可以告诉我这里发生了什么吗? 代码/配置清单 OuterThread.java片段: public class OuterThread extends Thread { private Queue createInnerThreads() { Queue threads = new ArrayBlockingQueue(); ApplicationContext ctx = SpringContextFactory.getApplicationContext(); int i […]

spring:通过读取另一个bean的属性来设置一个bean的属性?

是否可以通过读取另一个bean的属性来设置一个bean的属性? 例如,假设我有: class A { void setList(List list); } class B { List getList(); } 我希望Spring实例化这两个类,并调用A的setList方法,传入调用B的getList方法的结果。 Spring配置可能类似于: 唉,这个组成的XML不起作用。 为什么不把B注入A? 因为我不想引入额外的依赖。 A只是依赖列表,而不是B.

如何在Spring Boot应用程序中配置嵌入式MongDB进行集成测试?

我有一个相当简单的Spring Boot应用程序,它公开一个小的REST API并从MongoDB的一个实例中检索数据。 对MongoDB实例的查询通过基于Spring Data的存储库进行。 下面的一些关键代码。 // Main application class @EnableAutoConfiguration(exclude={MongoAutoConfiguration.class, MongoDataAutoConfiguration.class}) @ComponentScan @Import(MongoConfig.class) public class ProductApplication { public static void main(String[] args) { SpringApplication.run(ProductApplication.class, args); } } // Product repository with Spring data public interface ProductRepository extends MongoRepository { Page findAll(Pageable pageable); Optional findByLineNumber(String lineNumber); } // Configuration for “live” connections @Configuration public class […]

如何在春季启动时加载@Cache?

我正在使用spring-cache来改进数据库查询,其工作正常如下: @Bean public CacheManager cacheManager() { return new ConcurrentMapCacheManager(“books”); } @Cacheable(“books”) public Book getByIsbn(String isbn) { return dao.findByIsbn(isbn); } 但现在我想在启动时预先填充完整的书籍缓存。 这意味着我想调用dao.findAll()并将所有值放入缓存中。 此例程不应仅定期安排。 但是,在使用@Cacheable时,如何显式填充缓存?

XML命名空间如何工作

上面的示例显示了具有多个名称空间的XML文件的示例。 这些命名空间的目的是什么,最重要的是,即使没有Internet连接,它们也可以工作? 我认为以xsi:schemaLocation开头的第二位包含用于validationXML文档结构的XML模式文件。 如果我在不在网络上的计算机上运行使用此配置文件的应用程序,为什么这些仍然有效? URL是否以某种方式别名为JAR文件?