【发布时间】:2021-09-21 14:46:39
【问题描述】:
你好,我有一个带有类似方法的 RestController 注释类:
@Bean
@GetMapping
@Scope("prototype")
public Info[] setInfo()
{
return m_restTemplate.getForObject(m_url, Info[].class);
}
在这里我可以得到info[],并在我的 SQL 表中使用它。
但是网络服务不断更新我从m_url 获得的信息对象。我只能在春季启动初始化时得到这个Info[]。我必须重新启动 API 才能更新我的 SQL 表。
这是一个带有自动连接的示例代码info[]
@Autowired
public Info[] Infos;
public InfoRepository(NamedParameterJdbcTemplate m_jdbcTemplate) {
this.m_jdbcTemplate = m_jdbcTemplate;
}
public <S extends Info> S update(S info) {
m_jdbcTemplate.update(UPDATE_SQL, new BeanPropertySqlParameterSource(info));
return info;
}
但是当我尝试运行时,我显然得到了相同的对象。如何在调度程序中每次调用 @GetMapping 注释方法:
private final InfoRepository m_infoRepository;
private ArrayList<Info> m_Infos;
public void update()
{
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
m_coinInfos.forEach(i -> m_infoRepository.update(i));
}
}, 0, 2000);
}
【问题讨论】:
标签: java spring spring-boot rest get-mapping