我总是看到一些名为"ClassNameService"的类,那么作为逻辑的区别是什么?这些服务类的目标是什么?
我使用Hibernate,servlet和JSP在Java中创建了一个动态Web项目.我想获得客户端的剩余会话时间,以便我可以警告他们即将到来的会话到期.
例如,用户将在一分钟的会话时间内登录该应用程序.当剩余的会话时间是十秒时,我想使用AJAX和JQuery警告用户.我该怎么做?
在 Spring 文档中,用于NEVER传播:
以非事务方式执行,如果存在事务则抛出异常。
我想尝试如下:
@Transactional(propagation = Propagation.NEVER)
public void getDeps(long ID) {
System.out.println(databaseImp.getDepartmentByID(ID));
}
@Transactional(propagation = Propagation.REQUIRED)
public void allProcessOnDB_second(long ID) {
getDeps(ID);
operation(ID);
}
@Transactional
public void operation(long id){
System.out.println(databaseImp.getDepartmentByID(id));
}
Run Code Online (Sandbox Code Playgroud)
好吧,代码想要做什么并不重要。
我使用@Transactional(propagation = Propagation.NEVER)并且我在任何事务方法中使用此方法,但它不起作用。我的意思是它必须抛出异常,但事实并非如此。
我的 Spring 元配置文件 (XML) 包含以下内容:
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="database.transactionmanagement"/>
<tx:annotation-driven transaction-manager="transactionManager" mode="aspectj"/>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<constructor-arg name="dataSource" ref="datasource2"/>
</bean>
<bean id="datasource2" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/hr"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
Run Code Online (Sandbox Code Playgroud)
感谢您的回答。