小编Man*_*anu的帖子

如何在liquibase中标记变更集以进行回滚

我已经为maven配置中指定的liquibase配置了maven插件.
现在创建了一个变更集,如: -

<changeSet id="changeRollback" author="nvoxland">
  <createTable tableName="changeRollback1">
     <column name="id" type="int"/>
  </createTable>
  <rollback>
     <dropTable tableName="changeRollback1"/>
  </rollback>
</changeSet>
Run Code Online (Sandbox Code Playgroud)

使用命令行创建了用于更新DB的sql: - mvn liquibase:updateSQL

但只是想知道如何使用"rollbackTag"参数回滚.即如果运行命令" mvn liquibase:rollbackSQL ",则应该是"rollbackTag"参数的值.

是否可以使用变更集ID进行回滚?

database liquibase maven-plugin

27
推荐指数
2
解决办法
4万
查看次数

使用Oracle数组的Spring StoredProcedure:ORA-01000:超出了最大打开游标数

OracleTypes.ARRAY多次调用带有输入参数的Oracle存储过程时,会出现以下错误: -

org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call EMP_SCHEMA.GET_EMPLOYEE_LIST(?, ?)}]; SQL state [72000]; error code [1000]; ORA-01000: maximum open cursors exceeded; nested exception is java.sql.SQLException: ORA-01000: maximum open cursors exceeded
            at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
            at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
Run Code Online (Sandbox Code Playgroud)

JDBC模板配置是: -

    <bean id="commonsDbcpNativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" />
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <constructor-arg>
        <ref bean="dataSource" />
    </constructor-arg>
    <property name="nativeJdbcExtractor" ref="commonsDbcpNativeJdbcExtractor" />
</bean>
Run Code Online (Sandbox Code Playgroud)

存储过程类: -

public class GetEmployees extends StoredProcedure {
  public GetEmployees(JdbcTemplate jdbcTemplate) {
    super(jdbcTemplate, "EMP_SCHEMA.GET_EMPLOYEE_LIST");
    declareParameter(new SqlParameter("p_emp_id_list", OracleTypes.ARRAY, "TBL_EMP_ID"));
    declareParameter(new SqlOutParameter(CURSOR, OracleTypes.CURSOR, new EmployeeDataRowMapper())); …
Run Code Online (Sandbox Code Playgroud)

java oracle stored-procedures spring-jdbc

8
推荐指数
1
解决办法
2042
查看次数

无法将 Spring Boot 指标发布到 GCP stackdriver

我正在尝试将2.2.6.RELEASE在 GCP 计算引擎中运行的spring boot( ) 应用程序的指标发布到 stackdriver。我添加了micrometer-registry-stackdriver:1.3.6and的依赖spring-boot-actuator。Stackdriver 指标客户端配置按照micrometer 链接中的说明完成。在 VM 中,我安装了此处提到的云监控代理。

运行应用程序时,我收到错误 io.grpc.StatusRuntimeException: INTERNAL: An internal error occurred.

如果我缺少任何其他配置,有人可以通知我吗?

2020-04-29 10:19:16.248  INFO 14905 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3608
ms
2020-04-29 10:19:18.085  INFO 14905 --- [           main] i.m.s.StackdriverMeterRegistry           : publishing metrics to stackdriver every 1m
2020-04-29 10:19:20.058  INFO 14905 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-04-29 10:19:20.735  INFO 14905 --- [           main] o.s.b.a.e.web.EndpointLinksResolver …
Run Code Online (Sandbox Code Playgroud)

spring-boot-actuator stackdriver google-cloud-stackdriver micrometer spring-micrometer

8
推荐指数
1
解决办法
702
查看次数

IntelliJ IDEA不会扫描maven集中存储库中的工件

在eclipse中,可以使用maven插件从集中式存储库中搜索依赖项工件,并将其添加到pom.xml文件中.但是在IntelliJ IDEA中,依赖搜索仅在本地存储库中工作.如果搜索到的工件不在本地存储库中,则结果为空.
有没有办法从中央存储库中搜索工件并将其添加到IntelliJ中的pom.xml?

ide intellij-idea pom.xml maven

6
推荐指数
1
解决办法
7487
查看次数

spring boot测试中如何配置HandlerMethodArgumentResolver

我正在为带有 spting boot 的控制器编写一个单元@WebMvcTest

使用@WebMvcTest,我将能够注入一个MockMvc对象,如下所示:-

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {TestConfig.class})
@WebMvcTest
class MyControllerTest {
    @Autowired
    private MockMvc mockMvc;

    @Test
    public void my_controller_test() throws Exception {
       mockMvc.perform(post("/create-user"))
              .andExpect(status().isCreated());
    }
}
Run Code Online (Sandbox Code Playgroud)

在控制器中,我Principal使用 spring 注入一个参数HandlerMethodArgumentResolver。请告诉我如何使用 编写单元测试MockMvc,以便我可以注入模拟Principal对象作为控制器方法中的参数。

自动配置的 Spring MVC 测试部分解释了带有注释的测试@WebMvcTest将扫描HandlerMethodArgumentResolver. 所以我创建了一个 bean,它扩展HandlerMethodArgumentResolver并返回模拟Principal对象,如下所示。

@Component
public class MockPrincipalArgumentResolver implements HandlerMethodArgumentResolver {
   @Override
   public boolean supportsParameter(MethodParameter parameter) {
     return parameter.getParameterType().equals(Principal.class);
   }

   @Override
   public Object …
Run Code Online (Sandbox Code Playgroud)

junit spring-mvc-test spring-boot spring-boot-test

5
推荐指数
1
解决办法
5343
查看次数

Spring Boot 执行器“system.cpu.usage”与“process.cpu.usage”

我正在使用弹簧靴 2.3.2。在执行器的帮助下,将应用程序指标发布到指标控制台。我想知道执行器抛光的指标system.cpu.usageprocess.cpu.usage指标之间有什么区别。

spring-boot spring-boot-actuator micrometer spring-micrometer spring-boot-2

5
推荐指数
1
解决办法
1499
查看次数

RxJava缓冲区直到更改

我有一个可观察的东西,它发出大量的数据,例如

[1,1,1,2,2,2,3,3,1,1,5,5 ......]

在RxJava中,我们可以使用distinctUntilChanged()来获取一个独特的项目,直到它发生变化为止,并且它会

[1,2,3,1,5,......]

同样,有一种方法可以缓冲项目直到更改?例如,我希望输出像

[[1,1,1],[2,2,2],[3,3],[1,1],[5,5] ......]

rx-java rx-java2

2
推荐指数
1
解决办法
344
查看次数