Skip to content

Instantly share code, notes, and snippets.

@anson0370
anson0370 / map2map.scala
Created September 29, 2011 07:16
Scala <-> Java
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
}
@anson0370
anson0370 / changelog_for_kongur.md
Created December 8, 2011 05:20
change log for kongur

Change log of Kongur

TODO list

主要工作是更加的stable

  • 慢SQL优化,解决DB波动时出现调用超时的情况。现在已经优化掉一个很大的全表扫描同时增加了tddl数据源做中间层,等封网后发布

  • 另一种hsf调用的配置方式,主要为了解决groovy建立和维护与流程分离以及通过implant调用hsf会出现找不到地址的问题

@anson0370
anson0370 / pikachu_readme.md
Created December 12, 2011 11:13
pikachu_readme

Change Log of Pikachu

1.0.2

  • [*] bugfix: 修复节点去重时仍然会执行当前节点的回调的问题

  • [+] bizId根据ownSign隔离的改造

    改动到pikachu_ppikachu_s的表结构,具体请看升级方案文档

@anson0370
anson0370 / JStateLike.scala
Created December 14, 2011 15:56
code snippets in pikachu
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;
@anson0370
anson0370 / core_run.java
Created December 15, 2011 03:58
core run of kongur
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执行器中做
@anson0370
anson0370 / kongur_quick_start.md
Created January 18, 2012 10:50
quick start of kongur

Quick Start

Dependencies

使用maven管理依赖,最新的PMC版本是2.1.2.11

一个全功能的嵌入式的简单依赖可能是这样的

<properties>

2.1.2.11

@anson0370
anson0370 / ProcessAccessor.java
Created April 16, 2012 06:57
PmcAccessor_interface
/**
* 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
@anson0370
anson0370 / jushita_datasync_usage.md
Created May 23, 2012 06:04
通过SDK来使用数据订阅推送服务 For Java

通过SDK来使用长连接主动推送服务 For Java

概述

现在三方集成的长连接主动推送订阅使用经过简单改造的TOP长连接推送SDK,在使用上有一些和TOP长连接推送区别的地方需要特殊注意,在下面的示例代码中都有体现

  • 使用特殊的Configuration子类来初始化长连接: JushitaConfiguration,该配置类有两点需要注意
    1. 消费线程池被设置为最大1个线程,强制的完全顺序的消费数据
    2. 带有一个abstract的方法public abstract List<String> getTopicInfo();需要实现,通过该方法返回需要订阅的topic信息。该方法在每次连接发起前都会被调用以重新计算topic信息,请在这个方法里携带最新的带offset的topic信息
  • 为保证不丢任何消息,需要做两件事情

组合接口说明

组合接口将独立的接口组合成一个流程调用,达到一次调用组合多个功能的目的。通过参数biz_id来进行幂等和去重的处理。

taobao.scitem.sample.code.pcs.add

组合三步动作:1. 创建仓储sku;2. 初始化库存;3. 批量建立映射关系。

参数说明

@anson0370
anson0370 / draw_by_commit.rb
Created May 17, 2013 16:33
draw char by commit
require 'date'
author = "Anson"
email = "anson0370@gmail.com"
date = Date.new(2012, 7, 30)
a = %w{
. . . . . .
. o o o . .
o . . . o .