小编mem*_*und的帖子

如何在spring-boot中启用TaskScheduler?

我正在使用spring-boot设置弹簧默认值.我想使用这种@EnableScheduling机制,并有条件地安排我的任务.

因此我必须实现SchedulingConfigurer并设置TaskScheduler明确.

但是当注入时TaskScheduler,我得到以下错误.但是为什么spring-boot不会相应地自动提供调度程序呢?

@Configuration
@EnableAutoConfiguration
@EnableScheduling
public class AppConfig {

}

@Service
public class JobService implements SchedulingConfigurer {
    @Autowired
    private TaskScheduler taskScheduler;

    //schedule the task dynamically
    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.setScheduler(taskScheduler); //fails
        taskRegistrar.addTriggerTask(task, trigger);
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.scheduling.TaskScheduler; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.scheduling.TaskScheduler] found for dependency: expected at least 1 bean which qualifies as autowire …
Run Code Online (Sandbox Code Playgroud)

java spring spring-scheduled spring-boot

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

如何转储postgres数据库,不包括一个特定的表?

我想pg_dump用来备份postgres数据库内容.我只想忽略一个包含几百GB缓存数据的特定表.

我怎么能用pg_dump实现这个目标?

postgresql

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

如何在Map.of工厂中保留插入顺序?

Java 9提供Map.of()了轻松创建具有固定值的地图的功能.

问题:我想创建一个保留插入顺序的地图LinkedHashMap.这个工厂有可能吗?至少map.of()不保存订单......

java hashmap factory-method java-9

7
推荐指数
2
解决办法
174
查看次数

如何从mysql中的sql_mode中删除NO_ZERO_DATE?

我需要NO_ZERO_DATE从 全局删除sql_mode.

删除时是否可以保留任何默认值?

类似于伪代码 my.cnf::

sql_mode = $sql_mode(regex.replace(NO_ZERO_DATE, '');
Run Code Online (Sandbox Code Playgroud)

优点是我不会在未来版本的mysql.

mysql sql

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

如何在Spring中非阻塞地运行@PostConstruct?

@PostConstruct
public void performStateChecks() {
   throw new RuntimeException("test");
}
Run Code Online (Sandbox Code Playgroud)

如果我spring使用上面的代码启动应用程序,它将阻止该应用程序启动。

我正在寻找的是在启动后直接执行一个方法,但是异步的。意味着,它不应该延迟启动,并且即使发生故障也不应该阻止应用程序运行。

如何使初始化异步?

java spring spring-boot spring-async

7
推荐指数
2
解决办法
6218
查看次数

命名Hibernate查询的"命名查询未知"?

可能是什么问题?

@Entity
@NamedQueries( {
    @NamedQuery(name = User.ALL,
                query = "SELECT u FROM User u")
})

public class User {
    public static final String ALL = "User.all";
}

public class Service {
    find... with ... User.ALL
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

Caused by: org.hibernate.MappingException: Named query not known: User.all
    at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:93)
    at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1407)
    at $Session_a5ad46cfa25.getNamedQuery(Unknown Source)
    at $Session_a5ad46cf913.getNamedQuery(Unknown Source)
    at de.medicshare.dal.HibernateCrudServiceDAO.findUniqueWithNamedQuery(HibernateCrudServiceDAO.java:83)
    at $CrudServiceDAO_a5ad46cfa19.findUniqueWithNamedQuery(Unknown Source)
    at $CrudServiceDAO_a5ad46cfa1b.findUniqueWithNamedQuery(Unknown Source)
    at $CrudServiceDAO_a5ad46cf931.findUniqueWithNamedQuery(Unknown Source)
    at de.medicshare.pages.Signup.proceedSignup(Signup.java:82)
    at de.medicshare.pages.Signup.dispatchComponentEvent(Signup.java)
    at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:923)
    at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1106)
    ... 90 more
Run Code Online (Sandbox Code Playgroud)

java hibernate

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

线交叉矩形 - 如何找到交叉点?

我在画布上画一个矩形,从矩形的中心到坐标空间中的一个随机点画一条线.

现在,我想按行矩形内的长度截断行,以便行从矩形边开始.

我怎么能这样做?

  • 矩形可以通过2点来定义:Pstart(1, 3),Pend(3, 1)
  • 中心点可以计算为: P(2, 2)
  • 现在画线来P(2, 2)Q(10, 2).

据我所知,矩形的宽度是2,我可以告诉行开始P(4, 2)而不是P(2, 2).

当该点与XY轴之一不平行时,这会变得更复杂.此外,矩形内部的长度对于对角线而言将是不同的量.

如何计算线点相对于矩形中心和线的终点的起始偏移?

可能我必须找到线穿过矩形的点,然后让线从交叉点开始.但我怎么能得到这一点呢?

java math gwt vector java-canvas

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

如何按类类型委托服务?

我有不同的类类型,并且根据某些条件,我想委托适当的service,可以处理这些类类型.

示例:我有几个类如下.

class Student;
class Prof;
...
Run Code Online (Sandbox Code Playgroud)

每个班级都有一项服务,实施:

interface IPersonService {
    void run();
}
Run Code Online (Sandbox Code Playgroud)

我在mode某些条件下找到了一个:

enum PersonType {
    STUDENT, PROF;
}
Run Code Online (Sandbox Code Playgroud)

当我委托时:

@Autowired
private StudentService studentService;

@Autowired
private ProfService profService;

//@param mode assume known
public void delegate(PersonType mode) {

    //assume there are several of those switch statements in my business code
    switch (mode) {
        case STUDENT: studentService.run(); break;
        case PROF: profService.run(); break;
        default: break;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:在引入其他类时,我必须修改PersonType并添加一个额外的枚举(这没有问题),但我还必须扩展任何switch语句并添加对其他委托服务的调用.此外,我必须显式自动将这些服务自动装配到交换机委托人.

问题:如何优化此代码,为任何其他类实现新服务,而不必触及任何switch语句?

java design-patterns

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

获取java.util.date小时的最快方法?

java.util.date对象开始时:将小时部分作为integer关注性能的最佳方法是什么?

我必须迭代几百万个日期,因此性能很重要.

通常我会得到如下的时间,但也许有更好的方法?

java.util.Date date;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int hours = calendar.get(Calendar.HOUR_OF_DAY);
Run Code Online (Sandbox Code Playgroud)

java date

6
推荐指数
2
解决办法
4465
查看次数

替代 SocketUtils.findAvailableTcpPort()?

以下初始化为spring-integration专用端口上的套接字。

目标是给应用程序 2 分钟的时间在该端口上运行,否则失败就是不成功。但是应用程序启动不应直接失败,该端口在启动时未空闲!

@Configuration
@EnableIntegration
public class SocketConfiguration {    
        @Value("${app.port}")
        private String port;
    
        @Bean
        public TcpConnectionFactoryFactoryBean tcpFactory() {
            CompletableFuture.runAsync(() -> SocketUtils.findAvailableTcpPort(port, port)).get(2, TimeUnit.MINUTES);
        }
}
Run Code Online (Sandbox Code Playgroud)

问题:从 Spring Framework 6SocketUtils开始。@Deprecated什么是它的正确替代品?

该文档仅声明作为替代方案:

建议您依靠服务器在随机端口上启动的能力,而不是使用 SocketUtils 查找服务器的可用本地端口

好吧,这不是我想要的,我也不能使用 if,因为我历史上绑定到该特定端口!

java sockets spring spring-integration

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