我正在尝试在我的应用程序中使用EJB 3.1中的计时器服务.
@Stateless
@LocalBean
public class StatelessTimerSessionBean {
@Schedule(minute = "*", second = "0", dayOfMonth = "*", month = "*", year = "*", hour = "9-17", dayOfWeek = "Mon-Fri")
public void myTimer() {
System.out.println("Timer event: " + new Date());
}
}
Run Code Online (Sandbox Code Playgroud)
"..将EJB Timer Service的Timer DataSource设置设置为有效的JDBC资源.."
我无法弄清楚如何正确配置Timer Datasource?
部署时出现的错误是:
SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbApplication start method
java.lang.RuntimeException: EJB Timer Service is not available
Run Code Online (Sandbox Code Playgroud)
跑步:glassfish-3.1.2.2
是否可以确定范围并在模块或其他地方提供释放方法以防止内存泄漏。前任。我需要关闭一个数据库连接,onDestroy()但如果这可以由模块本身处理,那就太好了。
考虑以下示例*代码。
*阅读容易出错的代码,风险自负
@dagger.Module
@lombok.NoArgsConstructor
public class PersistenceModule {
@Provides
@Singleton
DatabaseProvider providesDatabaseHelper(Context context) {
return new DatabaseProvider(context);
}
}
Run Code Online (Sandbox Code Playgroud)
public class SomeActivity extends Activity{
@javax.inject.Inject DatabaseProvider provider;
//..onCreate omitted where injection happens.
@Override
protected void onDestroy() {
//Close database and cleanup.
provider.release();
provider = null;
super.onDestroy();
}
}
Run Code Online (Sandbox Code Playgroud)
我对android活动的程序流有点困惑,在java中,main方法首先执行,而在android中首先调用onCreate方法,那么在类级别定义的变量呢?如何在活动开始执行时声明/初始化它们,并说onCreate首先被调用.我们也可以在Inner类中初始化这些变量并在内部类之外使用它们的值吗?