1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.jdbc;
12
13 import org.mule.api.MuleEvent;
14 import org.mule.api.MuleMessage;
15 import org.mule.api.endpoint.OutboundEndpoint;
16 import org.mule.transport.AbstractMessageDispatcher;
17 import org.mule.transport.jdbc.sqlstrategy.SqlStatementStrategy;
18
19 import org.apache.commons.logging.Log;
20 import org.apache.commons.logging.LogFactory;
21
22
23
24
25
26 public class JdbcMessageDispatcher extends AbstractMessageDispatcher
27 {
28
29 protected static Log staticLogger = LogFactory.getLog(AbstractMessageDispatcher.class);
30
31 protected JdbcConnector connector;
32
33 public JdbcMessageDispatcher(OutboundEndpoint endpoint)
34 {
35 super(endpoint);
36 this.connector = (JdbcConnector) endpoint.getConnector();
37 }
38
39 @Override
40 protected void doDispose()
41 {
42
43 }
44
45 @Override
46 protected void doDispatch(MuleEvent event) throws Exception
47 {
48 if (logger.isDebugEnabled())
49 {
50 logger.debug("Dispatch event: " + event);
51 }
52
53 doSend(event);
54 }
55
56 @Override
57 protected MuleMessage doSend(MuleEvent event) throws Exception
58 {
59
60 JdbcConnector jdbcConnector = (JdbcConnector) endpoint.getConnector();
61 String statement = jdbcConnector.getStatement(endpoint);
62 Object payload = event.getMessage().getPayload();
63
64 SqlStatementStrategy strategy =
65 jdbcConnector.getSqlStatementStrategyFactory().create(statement, payload);
66 return strategy.executeStatement(jdbcConnector, endpoint, event, event.getTimeout());
67 }
68
69 @Override
70 protected void doConnect() throws Exception
71 {
72
73 }
74
75 @Override
76 protected void doDisconnect() throws Exception
77 {
78
79 }
80 }