"JGF1" wrote : BTW: Have just taken a look at the code download from Apress
website for this book.
| It has defined an extra exception class and iused it in StockList interface, and as a
consequence StockListBean.
| Because the design pattern in the class that was found by JBoss didn't match what
it was expecting, could this be the root cause of the exception that got thrown?
I can confirm this had no bearing on exception being thrown.
IE Introduced Exception class and still have same Exception being thrown:
Here it is formatted:
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.MainDeployer] Starting deployment
of package: file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.MainDeployer] Starting deployment
(init step) of package at:
file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.MainDeployer] Copying
file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3 ->
C:\apps\jboss-4.2.2.GA\server\all\tmp\deploy\tmp4408StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.MainDeployer] using deployer
MBeanProxyExt[jboss.ejb3:service=EJB3Deployer]
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.ejb3.EJB3Deployer] looking for nested
deployments in : file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.DeploymentInfo]
createLoaderRepository from config: LoaderRepositoryConfig(repositoryName:
JMImplementation:service=LoaderRepository,name=Default, repositoryClassName: null,
configParserClassName: null, repositoryConfig: null)
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.mx.loading.RepositoryClassLoader]
setRepository, repository=org.jboss.mx.loading.UnifiedLoaderRepository3@f1bb78,
cl=org.jboss.mx.loading.UnifiedClassLoader3@122fe15{
url=file:/C:/apps/jboss-4.2.2.GA/server/all/tmp/deploy/tmp4408StockListApp.ejb3
,addedOrder=0}
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.mx.loading.RepositoryClassLoader]
setRepository, repository=org.jboss.mx.loading.UnifiedLoaderRepository3@f1bb78,
cl=org.jboss.mx.loading.UnifiedClassLoader3@122fe15{
url=file:/C:/apps/jboss-4.2.2.GA/server/all/tmp/deploy/tmp4408StockListApp.ejb3
,addedOrder=0}
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.mx.loading.UnifiedLoaderRepository3] Adding
org.jboss.mx.loading.UnifiedClassLoader3@122fe15{
url=file:/C:/apps/jboss-4.2.2.GA/server/all/tmp/deploy/tmp4408StockListApp.ejb3
,addedOrder=0}
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.mx.loading.ClassLoaderUtils] Multiple class
loaders found for pkg: beans
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.MainDeployer] found 0 subpackages
of file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.MainDeployer] Watching new file:
file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.deployment.MainDeployer] create step for
deployment file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.ejb3.EJB3Deployer] create, StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.ejb3.EJB3Deployer] Deploying:
file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.system.ServiceController] Creating service
jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| 2008-03-06 22:26:02,734 DEBUG [org.jboss.ejb3.Ejb3Module] Creating
jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.ejb3.Ejb3AnnotationHandler] found EJB3:
ejbName=StockListBean, class=beans.StockListBean, type=STATELESS
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.ejb3.Ejb3Deployment] EJB3 deployment time
took: 16
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.ejb3.Ejb3Module] Created
jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.system.ServiceController] Creating dependent
components for: jboss.j2ee:service=EJB3,module=StockListApp.ejb3 dependents are: []
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.deployment.MainDeployer] Done with create
step of deploying StockListApp.ejb3
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.deployment.MainDeployer] Begin deployment
start file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.ejb3.EJB3Deployer] start application,
deploymentInfo: org.jboss.deployment.DeploymentInfo@fe1c38ab {
url=file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3 }
| deployer: MBeanProxyExt[jboss.ejb3:service=EJB3Deployer]
| status: Starting
| state: START_DEPLOYER
| watch: file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| altDD: null
| lastDeployed: 1204842362734
| lastModified: 1204842362734
| mbeans:
| , short name: StockListApp.ejb3, parent short name: null
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.system.ServiceController] starting service
jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.ejb3.Ejb3Module] Starting
jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.system.ServiceController] stopping service:
jboss.j2ee:jar=StockListApp.ejb3,name=StockListBean,service=EJB3
| 2008-03-06 22:26:02,750 WARN [org.jboss.system.ServiceController] Ignoring request to
stop nonexistent service:
jboss.j2ee:jar=StockListApp.ejb3,name=StockListBean,service=EJB3
| 2008-03-06 22:26:02,750 DEBUG [org.jboss.system.ServiceController] destroying service:
jboss.j2ee:jar=StockListApp.ejb3,name=StockListBean,service=EJB3
| 2008-03-06 22:26:02,750 WARN [org.jboss.system.ServiceController] Ignoring request to
destroy nonexistent service:
jboss.j2ee:jar=StockListApp.ejb3,name=StockListBean,service=EJB3
| 2008-03-06 22:26:02,750 WARN [org.jboss.ejb3.JmxKernelAbstraction]
jboss.j2ee:jar=StockListApp.ejb3,name=StockListBean,service=EJB3 is not registered
| 2008-03-06 22:26:02,765 DEBUG [org.jboss.ejb3.Ejb3Module] Starting failed
jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| java.lang.RuntimeException: Illegal @PersistenceUnit on private
javax.persistence.EntityManager beans.StockListBean._manager :There is no default
persistence unit in this deployment.
| at
org.jboss.injection.PersistenceContextHandler.handleFieldAnnotations(PersistenceContextHandler.java:182)
| at org.jboss.injection.InjectionUtil.processFieldAnnotations(InjectionUtil.java:137)
| at org.jboss.injection.InjectionUtil.processAnnotations(InjectionUtil.java:174)
| at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:358)
| at org.jboss.ejb3.SessionContainer.processMetadata(SessionContainer.java:140)
| at
org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:292)
| at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:356)
| at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy33.start(Unknown Source)
| at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| at
org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
| at
org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
| at
org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
| at
org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy34.start(Unknown Source)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy9.deploy(Unknown Source)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
| 2008-03-06 22:26:02,765 WARN [org.jboss.system.ServiceController] Problem starting
service jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| java.lang.RuntimeException: Illegal @PersistenceUnit on private
javax.persistence.EntityManager beans.StockListBean._manager :There is no default
persistence unit in this deployment.
| at
org.jboss.injection.PersistenceContextHandler.handleFieldAnnotations(PersistenceContextHandler.java:182)
| at org.jboss.injection.InjectionUtil.processFieldAnnotations(InjectionUtil.java:137)
| at org.jboss.injection.InjectionUtil.processAnnotations(InjectionUtil.java:174)
| at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:358)
| at org.jboss.ejb3.SessionContainer.processMetadata(SessionContainer.java:140)
| at
org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:292)
| at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:356)
| at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy33.start(Unknown Source)
| at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| at
org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
| at
org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
| at
org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
| at
org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy34.start(Unknown Source)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy9.deploy(Unknown Source)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
| 2008-03-06 22:26:03,062 INFO [org.jboss.ejb3.EJB3Deployer] Deployed:
file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:03,093 DEBUG [org.jboss.deployment.MainDeployer] End deployment start
on package: StockListApp.ejb3
| 2008-03-06 22:26:03,093 DEBUG [org.jboss.deployment.MainDeployer] Deployed package:
file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:03,093 DEBUG [org.jboss.deployment.scanner.URLDeploymentScanner]
Watch URL for: file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3 ->
file:/C:/apps/jboss-4.2.2.GA/server/all/deploy/StockListApp.ejb3
| 2008-03-06 22:26:03,093 ERROR [org.jboss.deployment.scanner.URLDeploymentScanner]
Incomplete Deployment listing:
|
| --- MBeans waiting for other MBeans ---
| ObjectName: jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| State: FAILED
| Reason: java.lang.RuntimeException: Illegal @PersistenceUnit on private
javax.persistence.EntityManager beans.StockListBean._manager :There is no default
persistence unit in this deployment.
|
| --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
| ObjectName: jboss.j2ee:service=EJB3,module=StockListApp.ejb3
| State: FAILED
| Reason: java.lang.RuntimeException: Illegal @PersistenceUnit on private
javax.persistence.EntityManager beans.StockListBean._manager :There is no default
persistence unit in this deployment.
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4134697#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...