SymmetircDS:按通道提取频率

时间:2018-08-22 06:49:59

标签: symmetricds

我试图限制提取频率,并在用户指南(https://www.symmetricds.org/doc/3.9/html/user-guide.html#_extract_frequency_by_channel)中找到了两种方法。他们都没有工作。

1)通过设置extract_period_millis

update sym_channel set extract_period_millis = 30000, last_update_time=CURRENT_TIMESTAMP where channel_id='channel_bps2swd'

之后,我在控制台上收到以下错误消息:

[server] - SymmetricServlet - Error while processing GET request for node: 0001 at 127.0.0.1 with path: /server/pull
    org.jumpmind.db.sql.SqlException: Failed to execute sql: null
            at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302)
            at org.jumpmind.db.sql.JdbcSqlReadCursor.<init>(JdbcSqlReadCursor.java:120)
            at org.jumpmind.db.sql.JdbcSqlTemplate.queryForCursor(JdbcSqlTemplate.java:140)
            at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:199)
            at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:195)
            at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:185)
            at org.jumpmind.db.sql.AbstractSqlTemplate.query(AbstractSqlTemplate.java:121)
            at org.jumpmind.symmetric.service.impl.ConfigurationService.getNodeChannels(ConfigurationService.java:436)
            at org.jumpmind.symmetric.service.impl.ConfigurationService.getSuspendIgnoreChannelLists(ConfigurationService.java:531)
            at org.jumpmind.symmetric.web.PullUriHandler.handlePull(PullUriHandler.java:112)
            at org.jumpmind.symmetric.web.PullUriHandler.handleWithCompression(PullUriHandler.java:100)
            at org.jumpmind.symmetric.web.AbstractCompressionUriHandler.handle(AbstractCompressionUriHandler.java:84)
            at org.jumpmind.symmetric.web.SymmetricServlet.service(SymmetricServlet.java:114)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:833)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
            at org.jumpmind.symmetric.web.HttpMethodFilter.doFilter(HttpMethodFilter.java:62)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
            at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
            at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
            at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
            at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
            at org.eclipse.jetty.server.Server.handle(Server.java:561)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
            at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
            at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
            at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
            at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
            at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
            at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
            at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
            at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
            at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
            at java.lang.Thread.run(Unknown Source)
    Caused by: java.sql.SQLException: Parameter arg '0001' type: -2147483648 caused exception: Invalid parameter index 1.
            at org.jumpmind.db.sql.JdbcSqlTemplate.setValues(JdbcSqlTemplate.java:1027)
            at org.jumpmind.db.sql.JdbcSqlReadCursor.<init>(JdbcSqlReadCursor.java:92)
            ... 44 more
    Caused by: java.sql.SQLException: Invalid parameter index 1.
            at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.getParameter(JtdsPreparedStatement.java:543)
            at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setParameter(JtdsPreparedStatement.java:612)
            at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setString(JtdsPreparedStatement.java:892)
            at org.apache.commons.dbcp.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:135)
            at org.apache.commons.dbcp.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:135)
            at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:453)
            at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:241)
            at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:172)
            at org.jumpmind.db.sql.JdbcSqlTemplate.setValues(JdbcSqlTemplate.java:1023)
            ... 45 more
    [server] - NodeConcurrencyInterceptor - Error building response headers

我不得不退后extract_period_millis = 0来解决此错误消息。

注意:表SYM_NODE_CHANNEL_CTL为空

2)通过将表SYM_NODE_GROUP_CHANNEL_WND的开始/结束时间设置为关联频道。

它没有任何影响。更改发生后不久便进行了同步。

系统: 对称3.9.12,Windows 10 x64,mssql

有没有设置同步频率的解决方案?

2 个答案:

答案 0 :(得分:1)

如果只是想更改同步频率,则可以使用以下参数,因为它们都默认为1分钟(60000毫秒)。

job.pull.period.time.ms

job.push.period.time.ms

答案 1 :(得分:0)

在课堂上 org.jumpmind.symmetric.service.impl.ConfigurationServiceSqlMap.java

添加此 putSql(“ selectNodeChannelControlLastExtractTimeSql”,“从sym_node_channel_ctl中选择channel_id,last_extract_time,其中node_id =?”);