发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

JPetstore部署问题...

2006-07-11 15:05
赞助商链接

按照readme设置完毕后访问网页出现以下异常:
2006-07-11 14:52:05,734 [http-8080-1] ERROR com.jdon.framework.samples.jpetstore.service.bo.ProductManagerImp - Dao error : com.ibatis.dao.client.DaoException: Error starting SQL Map transaction. Cause: java.sql.SQLException: Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream

** BEGIN NESTED EXCEPTION **

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1073)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:619)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1511)
at com.mysql.jdbc.Connection.<init>(Connection.java:485)
at com.mysql.jdbc.Driver.connect(Driver.java:341)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:473)
at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:200)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.<init>(JdbcTransaction.java:26)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig.newTransaction(JdbcTransactionConfig.java:32)
at com.ibatis.sqlmap.engine.transaction.TransactionManager.begin(TransactionManager.java:35)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.startTransaction(SqlMapExecutorDelegate.java:408)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.startTransaction(SqlMapSessionImpl.java:113)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.startTransaction(SqlMapClientImpl.java:87)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransaction.<init>(SqlMapDaoTransaction.java:22)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransactionManager.startTransaction(SqlMapDaoTransactionManager.java:48)
at com.ibatis.dao.engine.impl.DaoContext.startTransaction(DaoContext.java:82)
at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:60)
at $Proxy1.queryForList(Unknown Source)
at com.jdon.framework.samples.jpetstore.persistence.dao.sqlmapdao.ProductSqlMapDao.getProductIDsListByCategory(ProductSqlMapDao.java:25)
at com.jdon.framework.samples.jpetstore.service.bo.ProductManagerImp.getProductIDsListByCategory(ProductManagerImp.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.jdon.aop.reflection.MethodInvokerUtil.execute(MethodInvokerUtil.java:56)
at com.jdon.aop.reflection.ProxyMethodInvocation.methodInvoke(ProxyMethodInvocation.java:108)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:76)
at com.jdon.aop.interceptor.SessionContextInterceptor.invoke(SessionContextInterceptor.java:77)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.interceptor.StatefulInterceptor.invoke(StatefulInterceptor.java:83)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.interceptor.PoolInterceptor.invoke(PoolInterceptor.java:113)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:59)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.AopClient.invoke(AopClient.java:95)
at com.jdon.bussinessproxy.dyncproxy.DynamicProxyWeaving.invoke(DynamicProxyWeaving.java:61)
at $Proxy0.getProductIDsListByCategory(Unknown Source)
at com.jdon.framework.samples.jpetstore.presentation.action.ProductListAction.getPageIterator(ProductListAction.java:46)
at com.jdon.strutsutil.ModelListAction.execute(ModelListAction.java:65)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.jdon.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
at java.lang.Thread.run(Unknown Source)


** END NESTED EXCEPTION **


Caused by: java.sql.SQLException: Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream

** BEGIN NESTED EXCEPTION **

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1073)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:619)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1511)
at com.mysql.jdbc.Connection.<init>(Connection.java:485)
at com.mysql.jdbc.Driver.connect(Driver.java:341)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:473)
at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:200)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.<init>(JdbcTransaction.java:26)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig.newTransaction(JdbcTransactionConfig.java:32)
at com.ibatis.sqlmap.engine.transaction.TransactionManager.begin(TransactionManager.java:35)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.startTransaction(SqlMapExecutorDelegate.java:408)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.startTransaction(SqlMapSessionImpl.java:113)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.startTransaction(SqlMapClientImpl.java:87)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransaction.<init>(SqlMapDaoTransaction.java:22)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransactionManager.startTransaction(SqlMapDaoTransactionManager.java:48)
at com.ibatis.dao.engine.impl.DaoContext.startTransaction(DaoContext.java:82)
at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:60)
at $Proxy1.queryForList(Unknown Source)
at com.jdon.framework.samples.jpetstore.persistence.dao.sqlmapdao.ProductSqlMapDao.getProductIDsListByCategory(ProductSqlMapDao.java:25)
at com.jdon.framework.samples.jpetstore.service.bo.ProductManagerImp.getProductIDsListByCategory(ProductManagerImp.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.jdon.aop.reflection.MethodInvokerUtil.execute(MethodInvokerUtil.java:56)
at com.jdon.aop.reflection.ProxyMethodInvocation.methodInvoke(ProxyMethodInvocation.java:108)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:76)
at com.jdon.aop.interceptor.SessionContextInterceptor.invoke(SessionContextInterceptor.java:77)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.interceptor.StatefulInterceptor.invoke(StatefulInterceptor.java:83)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.interceptor.PoolInterceptor.invoke(PoolInterceptor.java:113)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:59)
at com.jdon.aop.reflection.ProxyMethodInvocation.proceed(ProxyMethodInvocation.java:84)
at com.jdon.aop.AopClient.invoke(AopClient.java:95)
at com.jdon.bussinessproxy.dyncproxy.DynamicProxyWeaving.invoke(DynamicProxyWeaving.java:61)
at $Proxy0.getProductIDsListByCategory(Unknown Source)
at com.jdon.framework.samples.jpetstore.presentation.action.ProductListAction.getPageIterator(ProductListAction.java:46)
at com.jdon.strutsutil.ModelListAction.execute(ModelListAction.java:65)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.jdon.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
at java.lang.Thread.run(Unknown Source)


** END NESTED EXCEPTION **


2006-07-11 14:52:05,734 [http-8080-1] DEBUG com.jdon.aop.reflection.MethodInvokerUtil - [JdonFramework] method invoke successfully
2006-07-11 14:52:05,734 [http-8080-1] DEBUG com.jdon.aop.interceptor.PoolInterceptor - [JdonFramework] realease a object:com.jdon.framework.samples.jpetstore.service.bo.ProductManagerImp to pool
2006-07-11 14:52:05,734 [http-8080-1] DEBUG com.jdon.bussinessproxy.dyncproxy.DynamicProxyWeaving - [JdonFramework]call method:getProductIDsListByCategory finish!
2006-07-11 14:52:05,734 [http-8080-1] DEBUG org.apache.struts.action.ExceptionHandler - ExceptionHandler caught this exception:
java.lang.Exception: getPageIterator's result is null, check your ModelListAction subclass
at com.jdon.strutsutil.ModelListAction.execute(ModelListAction.java:67)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.jdon.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
at java.lang.Thread.run(Unknown Source)
2006-07-11 14:52:05,734 [http-8080-1] DEBUG org.apache.struts.action.RequestProcessor - processForwardConfig(ForwardConfig[name=null,path=/common/Error.jsp,redirect=false,contextRelative=false,module=null])
2006-07-11 14:53:38,484 [Thread-1] INFO org.apache.coyote.http11.Http11AprProtocol - Pausing Coyote HTTP/1.1 on http-8080
2006-07-11 14:53:38,484 [Thread-1] INFO org.apache.coyote.ajp.AjpAprProtocol - Pausing Coyote AJP/1.3 on ajp-8009
2006-07-11 14:53:39,484 [Thread-1] INFO org.apache.catalina.core.StandardService - Stopping service Catalina
2006-07-11 14:53:39,500 [Thread-1] INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/servlets-examples] - SessionListener: contextDestroyed()
2006-07-11 14:53:39,500 [Thread-1] INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/servlets-examples] - ContextListener: contextDestroyed()
2006-07-11 14:53:39,500 [Thread-1] INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/jsp-examples] - SessionListener: contextDestroyed()
2006-07-11 14:53:39,500 [Thread-1] INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/jsp-examples] - ContextListener: contextDestroyed()
2006-07-11 14:53:39,593 [Thread-1] WARN org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/jpetstore] - Cannot serialize session attribute HttpSessionProxyVisitor for session 42637E8C545FD71403DA970EC6F7090F
java.io.NotSerializableException: com.jdon.container.finder.ContainerCallback
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1462)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:938)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:516)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:462)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:666)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4345)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:892)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1164)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1135)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1054)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1066)
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:447)
at org.apache.catalina.core.StandardService.stop(StandardService.java:512)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:743)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:601)
at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2006-07-11 14:53:39,593 [Thread-1] WARN org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/jpetstore] - Cannot serialize session attribute HttpSessionProxyVisitor for session 981E6982548745886239654EF8B29506
java.io.NotSerializableException: com.jdon.container.finder.ContainerCallback
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1462)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:938)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:516)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:462)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:666)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4345)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:892)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1164)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1135)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1054)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1066)
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:447)
at org.apache.catalina.core.StandardService.stop(StandardService.java:512)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:743)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:601)
at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

请达人指点...

2006-07-12 14:14

>Communication link failure: java.io.IOException
好像数据库连接有问题。

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com