能告诉我为什么被技术问答禁言吗,我只是提问,这是问题
通过下面mian方法加载xml。
public static void main(String[] args) {
try {
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "taskNow-quartz.xml" });
GlobalSysInfo.CONTEXT = context;
} catch (Exception e) {
logger.info(e,e);
logger.error("无法获取taskNow-quartz,任务结束!");
return;
}
}
我想在xml中配置一个bean可以立即执行。网上说这么写:
<!-- 当Spring容器启动完成后执行下面的这个Bean -->
<bean class="com.zznode.ma.task.TaskJobNow">
</bean>
然后确实可以进到TaskJobNow的java类中执行:
public TaskJobNow() throws JobExecutionException{
this.execute();
}
调用excute()方法时报错
excute方法如下:
public void execute() throws JobExecutionException {
TaskNowMain.getInstance().run();
}
报错如下:
ComboPooledDataSource@70f73e09 has been closed.
java.lang.Exception: DEBUG STACK TRACE for PoolBackedDataSource.close().
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.close(AbstractPoolBackedDataSource.java:417)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter
.java:327)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry
.java:510)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanReg
istry.java:486)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactor
y.java:742)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRe
gistry.java:455)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:109
0)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:487)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:1
39)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:9
3)
at com.zznode.ma.task.TaskNowMain.main(TaskNowMain.java:92)
2017-08-03 18:28:32,118 DEBUG [main] [org.springframework.beans.factory.support.DisposableBeanAdapter] - Invoking d
estroy method 'close' on bean with name 'dataSource'
2017-08-03 18:28:32,118 DEBUG [main] [com.mchange.v2.c3p0.management.ActiveManagementCoordinator] - MBean: com.mcha
nge.v2.c3p0:type=PooledDataSource[2s1kbu9p1aii2dh1lhy2zw|71d4f78b] unregistered.
2017-08-03 18:28:32,118 DEBUG [main] [com.mchange.v2.c3p0.management.ActiveManagementCoordinator] - C3P0Registry mb
ean unregistered.
2017-08-03 18:28:32,118 DEBUG [main] [com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource] - com.mchange.v2.c3p0.
ComboPooledDataSource@71d4f78b has been closed.
java.lang.Exception: DEBUG STACK TRACE for PoolBackedDataSource.close().
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.close(AbstractPoolBackedDataSource.java:417)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter
.java:327)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry
.java:510)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanReg
istry.java:486)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactor
y.java:742)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRe
gistry.java:455)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:109
0)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:487)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:1
39)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:9
3)
at com.zznode.ma.task.TaskNowMain.main(TaskNowMain.java:92)
2017-08-03 18:28:32,118 INFO [main] [com.zznode.ma.task.TaskNowMain] - org.springframework.beans.factory.BeanCreati
onException: Error creating bean with name 'taskJobNow' defined in file [E:\MyEclipse\workSpace\MA-LangCKX\WebRoot\
WEB-INF\classes\com\zznode\ma\task\TaskJobNow.class]: Instantiation of bean failed; nested exception is org.springf
ramework.beans.BeanInstantiationException: Could not instantiate bean class [com.zznode.ma.task.TaskJobNow]: Constr
uctor threw exception; nested exception is java.lang.NullPointerException
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taskJobNow' defined in file
[E:\MyEclipse\workSpace\MA-LangCKX\WebRoot\WEB-INF\classes\com\zznode\ma\task\TaskJobNow.class]: Instantiation of
bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean c
lass [com.zznode.ma.task.TaskJobNow]: Constructor threw exception; nested exception is java.lang.NullPointerExcepti
on
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCa
pableBeanFactory.java:1007)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowir
eCapableBeanFactory.java:953)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapab
leBeanFactory.java:487)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapable
BeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistr
y.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBe
anFactory.java:628)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicat
ionContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:1
39)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:9
3)
at com.zznode.ma.task.TaskNowMain.main(TaskNowMain.java:92)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.zznode.ma.ta
sk.TaskJobNow]: Constructor threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.j
ava:87)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCa
pableBeanFactory.java:1000)
... 13 more
Caused by: java.lang.NullPointerException
at com.zznode.ma.task.TaskNowMain.<init>(TaskNowMain.java:69)
at com.zznode.ma.task.TaskNowMain.getInstance(TaskNowMain.java:84)
at com.zznode.ma.task.TaskJobNow.execute(TaskJobNow.java:10)
at com.zznode.ma.task.TaskJobNow.<init>(TaskJobNow.java:13)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
... 15 more
求帮助