Tag: 配置

AspectJ加载时间编织不能在Spring bean上运行

我正在开发一个项目,该项目使用Spring配置的Java(而不是xml)风格来连接依赖项。 它还具有应通过AspectJ编织到所需方法(通过注释)的分析逻辑。 设置工作正常,我可以看到我所需的包中的类被编织,并且可以从中记录分析信息。 问题是编织对@Bean类@Bean 。 我通过以下方式在aop.xml启用了调试: 我可以看到我所需的包中的类被编织,但不是配置中的bean。 如果我直接实例化类(不注入它们)编织工作。 不幸的是,我不能在这里发布真实的代码,但这是一个愚蠢的例子: @Configuration @EnableLoadTimeWeaving(aspectjWeaving = EnableLoadTimeWeaving.AspectJWeaving.ENABLED) public class MySpringConfig { @Bean AnnotatedClass1 annotatedClass1() { return new AnnotatedClass1(new AnnotatedClass2()); } } AnnotatedClass1和AnnotatedClass2存在于同一个包中,编织工作在直接实例化的那个上,而不是bean返回的那个。 我搜索过Spring AOP文档,但我似乎无法找到与此相关的任何内容。 你需要为自动代理做一些魔术,以及SpringAOP的一些限制,但加载时间编织应该尽可能地工作 – 例如我试过私有方法并且它有效。

Spring安全配置@Order不是唯一的例外

我试图在我的Spring Security配置中注册多个filter,但是我总是得到相同的exception: 04-Nov-2015 14:35:23.792警告[RMI TCP连接(3)-127.0.0.1] org.springframework.web.context.support.AnnotationConfigWebApplicationContext.refresh上下文初始化期间遇到exception – 取消刷新尝试org.springframework.beans .factory.BeanCreationException:创建名为’org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration’的bean时出错:注入自动连接的依赖项失败; 嵌套exception是java.lang.IllegalStateException:WebSecurityConfigurers上的@Order必须是唯一的。 已经使用了100的订单,因此它不能用于com.payment21.webapp.MultiHttpSecurityConfig$ApiWebSecurityConfigurationAdapter$$EnhancerBySpringCGLIB $ 35c79fe4@1d381684。 由于我自己的尝试不起作用,我尝试了与 Spring Security参考中显示的完全相同的代码 : @EnableWebSecurity public class MultiHttpSecurityConfig { @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) { auth .inMemoryAuthentication() .withUser(“user”).password(“password”).roles(“USER”).and() .withUser(“admin”).password(“password”).roles(“USER”, “ADMIN”); } @Configuration @Order(1) public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { http .antMatcher(“/api/**”) .authorizeRequests() .anyRequest().hasRole(“ADMIN”) .and() […]

log4j2中基于时间的触发策略

我试图每小时创建新的日志文件。 我在RollingFileAppender中使用lo4j2的TimeBasedTriggerringPolicy。 下面是我从log4j2官方网站上获取的示例xml配置代码。 %d %p %c{1.} [%t] %m%n ** ** 在interval属性中,我设置了1表示1小时。 但我的文件仍然不会每1小时滚动一次。 请帮我发现任何错误。 注意:我已经包含了log4j2的beta9(这是最新的)

OSGi Configuration Admin Service的现有实现?

我们正在考虑使用Configuration Admin Service作为主要API来配置基于OSGi的应用程序中的组件。 如果我们可以重用一些现有的实现,那将是很好的,所以我试图调查和评估最流行的实现。 我知道有: Apache Felix配置管理员 (org.apache.felix.cm) Equinox配置管理员 (org.eclipse.equinox.cm) 是否还有其他实现需要考虑? 此外,我无法找到这些实现的任何好文档。 我将主要关注特定于实现的细节。 例如,我想知道不同的实现如何持久保存配置数据(例如,多个属性文件?XML文件?多个XML文件?数据库?,…)。

为什么我的Maven插件不会在构建生命周期中运行?

我试图通过以下pom部分为我的maven生命周期添加一个目标。 我定义了一个新插件并使用阶段和执行信息对其进行了配置。 org.apache.openjpa openjpa-maven-plugin 2.2.0 **/entity/*.class true com.ibm.db2.jcc.DB2Driver true ${project.build.directory}/database.sql sql generate-resources sql enhancer process-classes enhance org.apache.openjpa openjpa 2.1.1 然后我用mvn:install运行maven mvn:install但插件没有运行?

Intellij项目视图:不在同一文件中显示多个类

我在Intellij的项目视图中发现的一件令人沮丧的事情是,它显示了文件中的所有类,而不仅仅是文件命名的类。 这个问题是打开一个文件我必须双击两次:一次展开文件并显示文件中的类,然后第二次实际打开文件。 在大多数情况下,我不希望看到文件中的类。 我只是想在项目视图中看到该文件,当我双击文件时,我想打开文件,而不是深入到它的结构。 是否可以这样配置我的UI? 更新:进一步解释 显然人们在理解这个问题时遇到了问题。 请参阅Intellij Project导航窗格的上图。 请注意,某些类(蓝色圆圈)有+号而其他类没有。 带加号的文件是其中包含多个类的文件。 问题是,如果你双击一个只有一个类(没有加号)的文件就会打开(GOOD),但是如果你双击一个包含多个类的文件(有加号)那么文件就不会打开,它只是扩展加号,以显示文件中的各个类为BoxArray.java,例如(BAD)。 例如,如果我在上面的视图中双击文件Coastline.java,它将不会打开文件,它将展开加号。 当我双击Coastline.java时,我希望它打开Coastline.java,而不是展开它。 我不关心在类文件中看到类,我只想在一次双击中打开它。 我知道我可以使用热键F4来做到这一点。 我不想达到F4键。 我想双击该文件并打开它。

Spring控制台应用程序,从JAR外部加载属性文件

我在控制台Java应用程序中使用Spring。 我的应用程序将部署如下: folder/myJar.jar folder/db/connection.properties 如何在应用程序上下文中的PropertyPlaceholderConfigurer中加载connection.properties ? 我努力了 但它不会起作用。 我需要这种方式来获取我的数据库用户名/密码和其他详细信息。

Guice:Binder#bindConstant()和Binder#bind()… toInstance之间的区别

我想问一下有什么区别 bindConstant().annotatedWith(Names.named(“keepAliveInterval”)).to(60); 和 bind(Integer.TYPE).annotatedWith(Names.named(“keepAliveInterval”)).toInstance(60); 我想用Names.bindProperties(binder(),prop)加载我的所有配置属性; 在我的模块中,我发现它使用后者来绑定属性。 感谢和问候 马雷克

为dev / QA / prod配置Java EE 6

我有一个Java EE 6应用程序,我使用Maven构建,代码在NetBeans 7中,并部署在GlassFish 3.1.2上。 当我接近完成时,我发现自己正在部署演示版本。 问题是我没有任何简单的方法来构建不同的环境,如dev,QA,demo,prod等。对于某些东西,我一直在使用带有一堆静态getter的Java类返回值基于环境常量的值。 但是这对条件设置没有帮助 javax.faces.PROJECT_STAGE(web.xml) 数据库凭据(glassfish-resources.xml) 邮件服务器(glassfish-resources.xml) JPA日志记录级别(persistence.xml) 可能还有许多其他我现在想不到的东西分散在XML文件中。 有没有办法定义这些配置文件的多个版本,只是在构建时设置一个标志来选择环境,而在没有指定环境时默认为dev? 在这种情况下,有没有办法让Maven为我工作?

Spring 3 applicationContext-security-JDBC.xml有bean:bean不是bean?

有人可以告诉我在我的ApplicationContext中我必须使用bean:bean而不是bean以及如何修复它。