春季版本 4.2.0.RELEASE
给定以下类,当 spring 执行 cleanDocumentMirror 方法时,config 成员变为 null。我的代码本质上类似于spring example。不仅仅是这个字段,所有其他自动装配字段都为空。
我有 afterPropertiesSet 方法,该方法引用配置成员,并且它不会失败,或者换句话说,成员会正确自动连接。由于所有依赖项均已正确注入,应用程序确实可以正确启动并正常工作。仅当调用此方法时,我才会看到所有自动装配的条目为空。
该类有一些带有@JmsListener注释的方法,当spring调用这些方法时,成员看起来是正确的。仅当调用预定方法时,我才会遇到问题。所以我可能需要启用一些设置。
@Component
@Scope("singleton")
@Transactional(value = "somevalue")
@EnableTransactionManagement()
public class DownloadResponseListener implements InitializingBean {
@Autowired
AggregatorConfig config;
@JmsListener(destination = "response_queue", containerFactory = "mqConnectionContainerFactory")
public void process(final ObjectMessage message) {
config.getConfigrationValue(); // works correctly here.
}
@Scheduled(fixedRate = 5 * 1000)
void cleanDocumentMirror() {
config.getConfigrationValue(); // causes NPE here as config is null
}
}
Run Code Online (Sandbox Code Playgroud) 我是git的新用户,无法弄清楚如何解决这个问题.我有一些SVN的经验,并且正在接受SVN的行为.
每次我从远程存储库中提取文件,并且我修改过的文件也会远程修改,它需要合并.我可以理解复杂变化的合并冲突,但我发现合并冲突非常小(例如,不同函数中的一行变化)变化.据我所知,SVN可以自动合并大部分内容,并且只有在自动合并失败时才会将文件置于冲突状态.
对于git,它似乎每次都在发生并且强制打开git merge工具.有没有办法自动合并文件?我是否遗漏了一些基本上将存储库置于冲突集中的设置?
据我所知,只有在我的上启用了以下bean时,它才进入无限循环。如果启用了此bean,则WebSecurityConfigurerAdapter扩展类。
@Override
@Bean(name = "MyAuthManager")
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
Run Code Online (Sandbox Code Playgroud)
启用此bean后,如果我输入错误的凭据,它将陷入无限循环。我有从AbstractUserDetailsAuthenticationProvider扩展的自定义身份验证提供程序。如果未找到用户,则根据合同,此类将引发UsernameNotFoundException。我可以看到连续不断有电话到达我的retrieveUser。
删除@Bean批注,使其正常工作。但是我需要在其他地方访问身份验证管理器。
在openjdk版本“15”上尝试过2020-09-15
遵循简单的线条
String str = "\s";
根据转义字符列表的官方文档,未定义 \s。
Spring 工具套件不显示“\s”的编译错误,当我使用 maven 在命令行上编译时也不显示编译错误。任何其他字符(例如 \p)都会导致以下与官方文档匹配的错误。
转义序列无效(有效的是 \b \t \n \f \r " ' \ )
为什么java编译器不抱怨\s?在控制台上打印结果字符串表明它正在输出空格字符(0x20),因此看起来它正在识别它,但只是没有记录。