当前位置: 首页 > news >正文

同ip网站有什么影响没有备案的网站百度能收录吗

同ip网站有什么影响,没有备案的网站百度能收录吗,符合网络营销网站建设,泰州模板建站在集群环境下#xff0c;大家会碰到一直困扰的问题#xff0c;即多个 APP 下如何用 quartz 协调处理自动化 JOB 。 大家想象一下#xff0c;现在有 A #xff0c; B #xff0c; C3 台机器同时作为集群服务器对外统一提供 SERVICE #xff1a; A #xff0c; B #…在集群环境下大家会碰到一直困扰的问题即多个 APP 下如何用 quartz 协调处理自动化 JOB 。 大家想象一下现在有 A  B  C3 台机器同时作为集群服务器对外统一提供 SERVICE  A  B  C 3 台机器上各有一个 QUARTZ 他们会按照即定的 SCHEDULE 自动执行各自的任务。 我们先不说实现什么功能就说这样的架构其实有点像多线程。 那多线程里就会存在“资源竞争”的问题即可能产生脏读脏写由于三台 APP SERVER 里都有QUARTZ 因此会存在重复处理 TASK 的现象。 一般外面的解决方案是只在一台 APP 上装 QUARTZ 其它两台不装这样集群就形同虚设了 另一种解决方案是动代码这样就要影响到原来已经写好的 QUARTZ JOB 的代码了这对程序开发人员来说比较痛苦 本人仔细看了一下 Spring 的结构和 QUARTZ 的文档结合 Quartz 自身可以实例化进数据的特性找到了相关的解决方案。 本方案优点 1.       每台作为集群点的 APP SERVER 上都可以布署 QUARTZ  2.       QUARTZ 的 TASK  12 张表实例化如数据库基于数据库引擎及 High-Available 的策略集群的一种策略自动协调每个节点的 QUARTZ 当任一一节点的 QUARTZ 非正常关闭或出错时另几个节点的 QUARTZ 会自动启动 3.       无需开发人员更改原已经实现的 QUARTZ 使用 SPRING 类反射的机制对原有程序作切面重构 本人也事先搜索了一些资料发觉所有目前在 GOOGLE 上或者在各大论坛里提供的解决方案要么是只解决了一部分要么是错误的要么是版本太老要么就是完全抄别人的。 尤其是在使用 QUARTZSPRING 对数据库对象作实例化时会抛错源于 SPRING 的一个 BUG 目前网上的解决方案全部是错的或者干脆没说本人在此方案中也会提出如何解决。 解决方案 1.       把 QUARTZ 的 TASK 实例化进数据库 QUARTZ 只有实例化进入数据库后才能做集群外面的解决方案说实例化在内存里全部是错的把quartz-1.8.4/docs/dbTables/tables_oracle.sql 在 ORACLE9I2 及以上版本中执行一下会生成 12 张表 2.       生成 quartz.properties 文件把它放在工程的 src 目录下使其能够被编译时纳入 class path 。 一般我们的开发人员都喜欢使用 SPRINGQUARTZ 因此这个 quartz.properties 都不用怎么去写但是在集群方案中 quartz.properties 必写如果不写 quartz 会调用自身 jar 包中的 quartz.properties 作为默认属性文件同时修改 quartz.xml 文件。 Quartz.xml 文件的内容 :  ​ ?xml version1.0 encodingUTF-8?!DOCTYPE beans PUBLIC -//SPRING//DTD BEAN//EN http://www.springframework.org/dtd/spring-beans.dtd beansbean idmapScheduler lazy-initfalse autowirenoclassorg.springframework.scheduling.quartz.SchedulerFactoryBeanproperty nameconfigLocation valueclasspath:quartz.properties /property nametriggerslistref beancronTrigger //list/property!— 就是下面这句因为该 bean 只能使用类反射来重构property nameapplicationContextSchedulerContextKey valueapplicationContext /          /bean​ quartz.properties 文件的内容 org.quartz.scheduler.instanceName mapScheduler  org.quartz.scheduler.instanceId AUTO org.quartz.jobStore.class org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass org.quartz.impl.jdbcjobstore.oracle.weblogic.WebLogicOracleDelegate org.quartz.jobStore.dataSource myXADS org.quartz.jobStore.tablePrefix QRTZ_ org.quartz.jobStore.isClustered true org.quartz.dataSource.myXADS.jndiURLjdbc/TestQuartzDSorg.quartz.dataSource.myXADS.jndiAlwaysLookup DB_JNDI_ALWAYS_LOOKUP org.quartz.dataSource.myXADS.java.naming.factory.initial weblogic.jndi.WLInitialContextFactory org.quartz.dataSource.myXADS.java.naming.provider.url t3://localhost:7020 org.quartz.dataSource.myXADS.java.naming.security.principal weblogic org.quartz.dataSource.myXADS.java.naming.security.credentials weblogic  3.       重写 quartz 的 QuartzJobBean 类 原因是在使用 quartzspring 把 quartz 的 task 实例化进入数据库时会产生 serializable 的错误原因在于 bean idjobtask classorg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean property nametargetObjectref beanquartzJob//propertyproperty nametargetMethodvalueexecute/value/property/bean 这个 MethodInvokingJobDetailFactoryBean 类中的 methodInvoking 方法是不支持序列化的因此在把QUARTZ 的 TASK 序列化进入数据库时就会抛错。网上有说把 SPRING 源码拿来修改一下这个方案然后再打包成 SPRING.jar 发布这些都是不好的方法是不安全的。 必须根据 QuartzJobBean 来重写一个自己的类然后使用 SPRING 把这个重写的类我们就名命它为MyDetailQuartzJobBean 注入 appContext 中后再使用 AOP 技术反射出原有的 quartzJobx( 就是开发人员原来已经做好的用于执行 QUARTZ 的 JOB 的执行类 ) 。 下面来看 MyDetailQuartzJobBean 类 public class MyDetailQuartzJobBean extends QuartzJobBean {protected final Log logger LogFactory.getLog(getClass());private String targetObject;private String targetMethod;private ApplicationContext ctx;protected void executeInternal(JobExecutionContext context)throws JobExecutionException {try {logger.info(execute [ targetObject ] at once);Object otargetObject ctx.getBean(targetObject);Method m null;try {m otargetObject.getClass().getMethod(targetMethod,new Class[] {});m.invoke(otargetObject, new Object[] {});} catch (SecurityException e) {logger.error(e);} catch (NoSuchMethodException e) {logger.error(e);}} catch (Exception e) {throw new JobExecutionException(e);}}public void setApplicationContext(ApplicationContext applicationContext){this.ctxapplicationContext;}public void setTargetObject(String targetObject) {this.targetObject targetObject;}public void setTargetMethod(String targetMethod) {this.targetMethod targetMethod;}} 再来看完整的 quartz.xml 注意红色加粗部分尤为重要 ​ ?xml version1.0 encodingUTF-8?!DOCTYPE beans PUBLIC -//SPRING//DTD BEAN//EN http://www.springframework.org/dtd/spring-beans.dtd beansbean idmapScheduler lazy-initfalse autowirenoclassorg.springframework.scheduling.quartz.SchedulerFactoryBeanproperty nameconfigLocation valueclasspath:quartz.properties /property nametriggerslistref beancronTrigger //list/propertyproperty name applicationContextSchedulerContextKey  value applicationContext  //beanbean idquartzJob classcom.testcompany.framework.quartz.QuartzJob/beanbean idjobTask classorg.springframework.scheduling.quartz.JobDetailBeanproperty namejobClassvaluecom.testcompany.framework.quartz. MyDetailQuartzJobBean /value/propertyproperty namejobDataAsMapmapentry keyquartzJob valuequartzJob /entry keytargetMethod valueexecute //map/property/beanbean idcronTrigger classorg.springframework.scheduling.quartz.CronTriggerBeanproperty namejobDetailref beanjobTask //propertyproperty namecronExpressionvalue0/5 * * * * ?/value/property/bean/beans​ 4.       下载最新的 quartz1.8 版把 quartz-all-1.8.4.jar, quartz-oracle-1.8.4.jar,quartz-weblogic-1.8.4.jar 这三个包放到 web-inf/lib 目录下布署。 测试  几个节点都带有 quartz 任务此时只有一台 quartz 在运行另几个节点上的 quartz 没有运行。  此时手动 shutdown 那台运行 QUARTZ 在程序里加 system.out.println(“execute once…”), 运行 quartz的那个节点在后台会打印 execute once 的节点过了 7 秒左右另一个节点的 quartz 自动监测到了集群中运行着的 quartz 的 instance 已经 shutdown 因此 quartz 集群会自动把任一台可用的 APP 上启动起一个 quartz job 的任务。 自此 QUARTZ 使用 HA 策略的集群大功告成不用改原有代码配置一下我们就可作到 QUARTZ 的集群与自动错误冗余。
http://www.zqtcl.cn/news/574808/

相关文章:

  • 怎么用ps做简单网站个人商城网站建设
  • mvc做门户网站自适应网站制作费用
  • 建设工程协会网站查询系统成品网站源码在线观看
  • 宝塔做两个网站安卓版wordpress
  • 即墨网站建设招聘企业类网站有哪些
  • 汕头网站建设开发软件开发属于哪个专业
  • 企业网站建设规划书阿里云虚拟机怎么做多个网站
  • 营销平台网站建设做视频怎么做
  • 吉林房地产网站开发icp网站授权函
  • 深圳公司网站建设哪家好郑州短视频培训机构
  • 网络培训班答案百度seo收录软件
  • 中核工建设集团有限公司网站网站建设管理中se是什么意思
  • 网站如何做关键词引流网站怎么快速做收录
  • 网站建设文案网站设计要学哪些
  • 品牌网站建设gs平台搭建工具
  • 怎么把自己做的网站弄到域名上柳州游戏网站建设
  • 做衣服类网站策划书高端建设网站企业
  • 珠海网站建设公司有哪些代替做网站推广
  • 泰安的网站建设公司旅游网站建设规划报告怎么写
  • 如何建设淘宝客网站什么是网络营销常用的网络营销方法有哪些
  • 大连华南网站建设深圳网站建设公司的外文名是
  • 做招投标网站云南昆明网站建设价格
  • 越秀区网站建设公司微网站菜单
  • vs2017网站开发广州网站建设易得
  • 长沙企业网站建设价格陕西省门户网站建设政策
  • 龙华营销型网站制作wordpress最近评论
  • 嘉兴微信网站做一个招聘信息的网站_用什么做网站的软件
  • 各种购物网站大全上海市建设工程检测网
  • 网站推广沈阳php网站开发接口开发
  • 莱芜 做网站 公司官网开发