有没有办法调试在Javafx WebView中执行的javascript和html?类似于Firebug或Chrome的开发者控制台?
我有一个应用程序在Firefox和Chrome中渲染得很好,但在WebView中无法正确呈现.它可能是任何数量的东西,但没有一些调试工具,我不知道如何追查根本原因.
谢谢.
这个问题的核心是:是否可以通过Spring关闭钩子触发的方法执行事务?
目前,我有一个HyperSmartDbServer类,该类实现了SmartLifeCycle,如以下问题所示: 在spring bean中,可以有一个可以使用事务的shutdown方法吗?
我在该类中有一个标记为事务的方法,该方法作为stop方法的一部分被调用:
@Transactional
public void executeShutdown() {
hsqlDBShutdownService.executeShutdownQuery();
hsqlDBShutdownService.closeEntityManager();
}
Run Code Online (Sandbox Code Playgroud)
该方法中使用的服务有点麻烦,因为我无法在EntityManager中自动连线到此类:
@Service
public class HsqlDBShutdownService {
@PersistenceContext
private EntityManager entityManager;
@Autowired
private HyperSqlDbServer hyperSqlDbServer;
@Transactional
public void executeShutdownQuery() {
entityManager.createNativeQuery("SHUTDOWN").executeUpdate();
}
@Transactional
public void closeEntityManager() {
entityManager.close();
}
@PostConstruct
public void setHsqlDBShutdownService() {
hyperSqlDbServer.setShutdownService(this);
}
}
Run Code Online (Sandbox Code Playgroud)
您可能会注意到,我真正想完成的一切只是在停止服务器之前调用查询“ SHUTDOWN”。如果不这样做,则hsqldb锁定文件会在服务器重新启动时停留,并且服务器会引发异常。
上面的代码产生以下异常:
javax.persistence.TransactionRequiredException: Executing an update/delete query
at org.hibernate.ejb.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:96)
...
Run Code Online (Sandbox Code Playgroud)
所以我的原始问题仍然存在,但是如果有人对如何以另一种方式执行该查询有想法,我也会尝试一下。
仅供参考,我也尝试了@PreDestroy批注,但得到了相同的TransactionRequiredException。
编辑:为了完整起见,我在整个项目中都使用JpaTransactionManager和@Transactional批注,但关机时除外...
编辑2:数据源和事务管理器配置:
@Configuration
@EnableTransactionManagement
@PropertySource("classpath:persistence.properties")
public class PersistenceConfig implements TransactionManagementConfigurer {
private static final String PASSWORD_PROPERTY = "dataSource.password"; …Run Code Online (Sandbox Code Playgroud)