我们正在升级我们的基础架构,为此我们将从Oracle 10g迁移到11g.
我们使用Oracle GoldenGate进行数据复制,据我们所知,它不支持AQ消息的复制.
对于持久队列,我们有可用的导入/导出选项.但是有一些缓冲队列也需要复制.
任何人都可以指导我们如何在这种情况下避免数据丢失.
感谢任何帮助.
我已经配置了一个弹簧的方法来调用之前的工作正常工作.现在我的要求是将此作业保持为持久性,这将在集群环境中运行.将quartz配置为集群和持久性后,应用程序在部署时抛出以下异常:
java.io.NotSerializableException:无法序列化JobDataMap以插入数据库,因为属性'methodInvoker'的值不可序列化:org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean
我使用以下版本:
更新:根据以下文档MethodInvokingJobDetailFactoryBean:
JobDetails created via this FactoryBean are not serializable.
Run Code Online (Sandbox Code Playgroud)
因此,寻找一些在Spring中配置持久作业的替代方法.
我正在尝试在Spring-XD中运行一个位于以下路径下的作业:
/spring-xd/xd/modules/job/MyJobName (I'll call this path MyJobName below)
Run Code Online (Sandbox Code Playgroud)
我的jar位于MyJobName/lib其根路径中,包含文件logback.xml.不幸的是,Spring-XD似乎完全无视该文件.当我通过我的IDE(IntelliJ)运行作业时,日志记录工作正常,但是当我使用Spring-XD运行它时,它完全忽略了我的SiftingAppender.
这是我的logback.xml文件的样子:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%5p %-25logger{25} %m %n</pattern>
</encoder>
</appender>
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>publication.run.id</key>
<defaultValue>unknown</defaultValue>
</discriminator>
<sift>
<appender name="FILE-${publication.run.id}" class="ch.qos.logback.core.FileAppender">
<file>/data/${publication.run.id}/logs/process.log</file>
<append>true</append>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%5p %-25logger{25} %m %n</pattern>
</layout>
</appender>
</sift>
</appender>
<logger name="com.bitwiseor">
<level value="INFO" />
</logger>
<logger name="org.springframework">
<level value="INFO" />
</logger>
<root>
<level value="INFO" />
<appender-ref ref="SIFT" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我想把这个logback.xml文件放在/ spring-xd/xd/config下,或者放在另一个配置文件夹下,但是我尝试的都没有.我尝试查看Spring-XD文档,但一无所获.
任何见解将不胜感激.
我有以下Spring Integration配置.我在这里做的是dequeuing来自主题的消息,并在转换后将其发送到某个HTTP位置.
JMS Connection Factory 配置如下:
<bean id="inboundCF"
class="org.springframework.jms.connection.CachingConnectionFactory">
<constructor-arg index="0">
<jee:jndi-lookup jndi-name="java:comp/resource/ABC_AQ/XATopicConnectionFactories/XATCF" />
</constructor-arg>
<property name="sessionCacheSize" value="3" />
</bean>
<bean id="txInboundCF"
class="org.springframework.jms.connection.TransactionAwareConnectionFactoryProxy">
<property name="targetConnectionFactory" ref="inboundCF" />
<property name="synchedLocalTransactionAllowed" value="true" />
</bean>
Run Code Online (Sandbox Code Playgroud)
并Message Listener Container配置如下:
<bean id="jmsInboundContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer"
destroy-method="destroy">
<property name="connectionFactory" ref="txInboundCF" />
<property name="destination" ref="inboundDestination" />
<property name="pubSubDomain" value="true" />
<property name="sessionTransacted" value="true" />
<property name="errorHandler" ref="errorHandlerService" />
<property name="subscriptionDurable" value="true" />
<property name="durableSubscriptionName" value="mySub" />
<property name="cacheLevel" value="3" />
</bean>
<int-jms:message-driven-channel-adapter channel="jmsInChannel" …Run Code Online (Sandbox Code Playgroud) 这是一个奇怪的,但我们的开发人员离开了,我的客户明天正在进行网站演示.
在网页上,一个下拉列表具有以下值.有没有办法使用script/css我们的设计师可以隐藏复制的值并只显示1-9一次?非常感谢.
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
Run Code Online (Sandbox Code Playgroud)