- 博客(0)
- 资源 (9)
- 收藏
- 关注
java Activemq API
1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WSNotification,XMPP,AMQP
2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
6. 支持通过JDBC和journal提供高速的消息持久化
7. 从设计上保证了高性能的集群,客户端-服务器,点对点
8. 支持Ajax
9. 支持与Axis的整合
10. 可以很容易得调用内嵌JMS provider,进行测试
11. ActiveMQ速度非常快;一般要比jbossMQ快10倍。
优点:是一个快速的开源消息组件(框架),支持集群,同等网络,自动检测,TCP,SSL,广播,持久化,XA,和J2EE1.4容器无缝结合,并且支持轻量级容器和大多数跨语言客户端上的Java虚拟机。消息异步接受,减少软件多系统集成的耦合度。消息可靠接收,确保消息在中间件可靠保存,多个消息也可以组成原子事务。
缺点:ActiveMQ默认的配置性能偏低,需要优化配置,但是配置文件复杂,ActiveMQ本身不提供管理工具;示例代码少;主页上的文档看上去比较全面,但是缺乏一种有效的组织方式,文档只有片段,用户很难由浅入深进行了解,二、文档整体的专业性太强。在研究阶段可以通过查maillist、看Javadoc、分析源代码来了解。
2015-08-13
echarts数据图表
接口:echarts-2.2.1/doc/doc.html
简介
名词解析
图表类型
line
bar
scatter
k
pie
radar
chord
force
map
gauge
funnel
eventRiver
引入ECharts
模块化包引入
模块化单文件引入(推荐)
标签式单文件引入
自定义构建echarts单文件
初始化
实例方法
选项
option
timeline
title
toolbox
tooltip
legend
dataRange
dataZoom
roamController
grid
xAxis
yAxis
axis
axisLine
axisTick
axisLabel
splitLine
splitArea
data
polar
series(通用)
series(直角系)
series(饼图)
series(雷达图)
series(地图)
series(力导向布局图)
series(和弦图)
series(仪表盘)
series(漏斗图)
series(事件河流图)
data
markPoint
data
markLine
data
itemStyle
lineStyle
areaStyle
textStyle
loadingOption
noDataLoadingOption
backgroundColor
color
symbolList
renderAsImage
calculable
calculableColor
calculableHolderColor
nameConnector
valueConnector
animation
addDataAnimation
animationThreshold
animationDuration
animationDurationUpdate
animationEasing
图数据表示
categories
nodes(data)
links
matrix
多级控制设计
附录:地图扩展
附录:组件和图表的实例接口
组件实例接口
timeline
tooltip
legend
dataRange
dataZoom
grid
xAxis/yAxis
categoryAxis
valueAxis
polar
图表实例接口
map
附录:一个直观的事例
2015-04-10
注册 后邮箱验证代码 jar包
package org.tarena.dang.util;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class EmailUtil {
public static void sendEmail(String addr,String code){
SimpleEmail email = new SimpleEmail();
email.setHostName("smtp.sina.cn");
email.setAuthentication("administrator", "11111111");
email.setCharset("UTF-8");
try {
email.addTo(addr);
email.setFrom("administrator@sina.cn");//必须和Authentication使用的用户相同,否则失败
email.setSubject("邮箱验证");
StringBuffer sb = new StringBuffer();
sb.append("欢迎注册当当网,您已完成第一步注册。");
sb.append("下面需要进行邮箱验证,验证码为:");
sb.append(code);
email.setMsg(sb.toString());
email.send();
} catch (EmailException e) {
// e.printStackTrace();
System.out.println("邮件发送失败");
}
}
}
2013-06-18
简单验证码 工具
package tarena.action;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public final class ImageUtil {
private static final String[] chars = { "0", "1", "2", "3", "4", "5", "6",
"7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "东",
"南", "西", "北", "中", "发", "白" };
private static final int SIZE = 5;
private static final int LINES = 20;
private static final int WIDTH = 200;
private static final int HEIGHT = 100;
private static final int FONT_SIZE = 30;
public static Map<String,BufferedImage> createImage() {
StringBuffer sb = new StringBuffer();
BufferedImage image = new BufferedImage(WIDTH, HEIGHT,
BufferedImage.TYPE_INT_RGB);
Graphics graphic = image.getGraphics();
graphic.setColor(Color.LIGHT_GRAY);
graphic.fillRect(0, 0, WIDTH, HEIGHT);
Random ran = new Random();
//画随机字符
for(int i=1;i<=SIZE;i++){
int r = ran.nextInt(chars.length);
graphic.setColor(getRandomColor());
graphic.setFont(new Font(null,Font.BOLD+Font.ITALIC,FONT_SIZE));
graphic.drawString(chars[r],(i-1)*WIDTH/SIZE , HEIGHT/2);
sb.append(chars[r]);//将字符保存,存入Session
}
//画干扰线
for(int i=1;i<=LINES;i++){
graphic.setColor(getRandomColor());
graphic.drawLine(ran.nextInt(WIDTH), ran.nextInt(HEIGHT), ran.nextInt(WIDTH),ran.nextInt(HEIGHT));
}
Map<String,BufferedImage> map = new HashMap<String,BufferedImage>();
map.put(sb.toString(), image);
return map;
}
public static InputStream getInputStream(
BufferedImage image) throws Exception{
//将图片给imageStream赋值
ByteArrayOutputStream bos =
new ByteArrayOutputStream();
JPEGImageEncoder jpegCoder =
JPEGCodec.createJPEGEncoder(bos);
jpegCoder.encode(image);
//获取压缩处理后的图片信息
byte[] bys = bos.toByteArray();
return new ByteArrayInputStream(bys);
}
public static Color getRandomColor(){
Random ran = new Random();
Color color = new Color(ran.nextInt(256),ran.nextInt(256),ran.nextInt(256));
return color;
}
}
2013-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人