主要工作是更加的stable
-
慢SQL优化,解决DB波动时出现调用超时的情况。现在已经优化掉一个很大的全表扫描同时增加了tddl数据源做中间层,等封网后发布
-
另一种hsf调用的配置方式,主要为了解决groovy建立和维护与流程分离以及通过implant调用hsf会出现找不到地址的问题
| import scala.collection.JavaConversions | |
| object Helper { | |
| implicit def scalaMap_T_S_A_2JavaMap_T_S_O(scalaMap: Map[String, Any]) = { | |
| JavaConversions.mapAsJavaMap(scalaMap).asInstanceOf[java.util.Map[String, Object]] | |
| } | |
| implicit def javaMap_T_S_O_2scalaMap_T_S_A(javaMap: java.util.Map[String, Object]) = { | |
| JavaConversions.mapAsScalaMap(javaMap.asInstanceOf[java.util.Map[String, Any]]).toMap | |
| } |
| package com.tmall.pokemon.pikachu.j.model; | |
| import com.tmall.pokemon.pikachu.core.model.StateLike; | |
| import com.tmall.pokemon.pikachu.helper.Helper; | |
| import scala.Option; | |
| import scala.Tuple2; | |
| import scala.xml.Node; | |
| import java.util.Map; |
| private void run(KongurContext context, ActivityNode currentNode, Long processInstanceId, String nodeType, | |
| PvmExecution executor) throws SchedulerException, BizException { | |
| // 如果有流程实例 先更新流程实例 再去做节点内容 | |
| // 先select再update 避免mysql中的死锁 | |
| if (processInstanceId != null) { | |
| Activity activity = activityDAO.selectFailedByProcessInstanceIdAndActivityName(processInstanceId, | |
| currentNode.getName()); | |
| if (activity == null) { | |
| if (nodeType.endsWith(NodeExecutor.NOTIFY_EXECUTOR)) { | |
| // 这种情况允许继续执行 去重在节点的notify执行器中做 |
| /** | |
| * Project: pmc-api | |
| * | |
| * File Created at Apr 1, 2009 | |
| * $Id$ | |
| * | |
| * Copyright 2009 Taobao.com Corporation Limited. | |
| * All rights reserved. | |
| * | |
| * This software is the confidential and proprietary information of |
现在三方集成的长连接主动推送订阅使用经过简单改造的TOP长连接推送SDK,在使用上有一些和TOP长连接推送区别的地方需要特殊注意,在下面的示例代码中都有体现
Configuration子类来初始化长连接: JushitaConfiguration,该配置类有两点需要注意
public abstract List<String> getTopicInfo();需要实现,通过该方法返回需要订阅的topic信息。该方法在每次连接发起前都会被调用以重新计算topic信息,请在这个方法里携带最新的带offset的topic信息| require 'date' | |
| author = "Anson" | |
| email = "[email protected]" | |
| date = Date.new(2012, 7, 30) | |
| a = %w{ | |
| . . . . . . | |
| . o o o . . | |
| o . . . o . |