小编Loc*_*cke的帖子

有没有办法将我的Java函数传递给try-catch函数?

所以我连续20个二传手,所有这些都可能会失败.如果一个失败或者用try catch包围它们而不是跳过它们,那么有没有办法用Java 8s的一些功能做到这一点?

例如,我在想这样的事情:

public void mapElement(Function function) {
try the function
catch if something goes wrong
}
Run Code Online (Sandbox Code Playgroud)

然后我可以像这样使用它:

mapElement(myObject.putA(a));
mapElement(myObject.putB(b));
mapElement(myObject.putC(c));
....
Run Code Online (Sandbox Code Playgroud)

java java-8

3
推荐指数
2
解决办法
146
查看次数

尝试使用Eclipse连接到MySql数据库时Ping失败

所以我在eclipse中设置新连接时遇到问题,这样我就可以将当前的Maven项目转换为JPA项目.我有一个MySql数据库设置,可以使用WinSql访问它.但是,当我尝试使用New Connection Profile连接Eclipse时,我遇到了ping失败.字段中的所有信息都相同.我将mysql-connector-java-5.1.32-bin.jar添加到我的构建路径中,所以我真的不知道还有什么问题.当ping失败时,它给出了以下异常:

java.lang.Exception: Connection failed with unspecified error.
at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:110)
at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:96)
at org.eclipse.datatools.enablement.internal.mysql.connection.JDBCMySQLConnectionFactory.createConnection(JDBCMySQLConnectionFactory.java:28)
at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Run Code Online (Sandbox Code Playgroud)

关于可能导致这种情况的任何想法?我环顾了几个小时,看到了很多类似的问题,但似乎没什么用.另一件可能很重要的事情是MySql服务器托管在我的Universite服务器上,因此我需要通过VPN连接才能访问它.我使用Cisco AnyConnect执行此操作,并且在连接WinSql时没有任何问题.

java mysql eclipse

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

Spring Batch 流程 - 获取未找到的下一个状态

所以我觉得我已经正确定义了我的作业流程,但是当我运行它时,我收到一个 FlowExecutionException ,说我的流程“d”的“在流程中找不到下一个状态”。

我正在使用一个实现 JobExecutionListener 的 tasklet,如下所示,它似乎按预期工作:

  @Override
  public ExitStatus afterStep(StepExecution stepExecution) {
    if(a && b) {
      return new ExitStatus("a");
    } else if(c) {
      return new ExitStatus("b");
    } else if(d) {
      return new ExitStatus("c");
    } else {
      return new ExitStatus("d");
    }
  }
Run Code Online (Sandbox Code Playgroud)

这是我的工作配置。我还想简化它(所有步骤都将进行“b”,所以我希望这是“之后”的事情),但只是希望它首先工作。

  @Bean
  public Job job() {
    LOGGER.info("STARTING BATCH JOB");
    return jobs.get("job")
        .incrementer(new RunIdIncrementer())
        .start(taskletStep())
        .on("a")
            .to(step1a)
            .next(step2)
        .on("b")
            .to(step2)
        .on("c")
            .to(step2)
        .on("d")
            .to(step1b)
            .next(step2)
        .on("*").end()
        .end()
        .build();
  }
Run Code Online (Sandbox Code Playgroud)

我知道我一定错过了流程的某些部分,但我无法确定它。

java spring spring-batch

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

标签 统计

java ×3

eclipse ×1

java-8 ×1

mysql ×1

spring ×1

spring-batch ×1