JMS入门之实例

JMS入门之实例
JMS入门之实例

JMS是一个由AS提供的Message服务。它能接受消息产生者(Message Provider)所发出的消息,并把消息转发给消息消费者(Message Consumer)。

2、JMS提供2种类型的消息服务:(1)Queue,即点对点,每个消息只转发给一个消息消费者使用。(2)Topic,即发布和订阅,每个消息可以转发给所有的订阅者(消费者)。

3、WEBLOGIC 8下的JMS配置:

(1)配置JMS Connection Factory

(2)配置JMS File Store(目前所找到的文档都是配置File Store,其实在具体的应用中,可能JMS JDBC Store更广泛,但暂时没有找到资料)

(3)配置JMS Server

(4)在JMS Server的destinations中配置JMS Queue或者JMS Topic

其中提供给消息产生者和消息消费者使用的是JMS Connection Factory的JNDI和JMS Queue或者JMS Topic的JNDI。

4、消息产生者向JMS发送消息的步骤:

(1)使用JNDI查询对象JMS ConnectionFactory和Destination(JMS Queue/Topic)

(2)使用管理对象JMS ConnectionFactory建立连接Connection

(3)使用连接Connection 建立会话Session

(4)使用会话Session和管理对象Destination创建消息生产者MessageSender

(5)使用消息生产者MessageSender发送消息

一个消息发送者的例子:

package myjms;

import java.util.*;

import javax.naming.*;

import javax.jms.*;

public class MessageProducter {

public static void main(String[] args) {

String queueConnectionFactoryName = "myjmsconnectionfactory"; //JMS Connection Factory的JNDI

String queueName = "myjmsqueue"; //JMS Queue或者JMS Topic的JNDI boolean transacted = false;//transaction模式

int acknowledgementMode =

Session.AUTO_ACKNOWLEDGE;//acknowledgement模式

String message="Message need to send";//模拟需要发送的消息

Properties properties = new Properties();

properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLIniti alContextFactory");

properties.put(Context.PROVIDER_URL, "t3://localhost:7001");

try {

Context context = new InitialContext(properties);

Object obj = context.lookup(queueConnectionFactoryName);

QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) obj;//JMS Connection Factory的获得

obj = context.lookup(queueName);

Queue queue = (Queue) obj;//JMS Queue或者JMS Topic的获得

QueueConnection

queueConnection=queueConnectionFactory.createQueueConnection();//产生连接

queueConnection.start();

QueueSession queueSession =

queueConnection.createQueueSession(transacted, acknowledgementMode);

TextMessage textMessage = queueSession.createTextMessage();

textMessage.clearBody();

textMessage.setText(message);

QueueSender queueSender = queueSession.createSender(queue);

queueSender.send(textMessage);

if (transacted) {

https://www.360docs.net/doc/288797111.html,mit();

}

if (queueSender != null) {

queueSender.close();

}

if (queueSession != null) {

queueSession.close();

}

if (queueConnection != null) {

queueConnection.close();

}

}

catch(Exception ex){

ex.printStackTrace();

}

}

}

5、消息消费者从JMS接受消息的步骤:

(1)使用JNDI查询对象JMS ConnectionFactory和Destination(JMS Queue/Topic)

(2)使用管理对象JMS ConnectionFactory建立连接Connection

(3)使用连接Connection 建立会话Session

(4)使用会话Session和管理对象Destination创建消息消费者MessageReceiver

(5)使用消息消费者MessageReceiver接受消息,需要用setMessageListener将MessageListener接口绑定到MessageReceiver

消息消费者必须实现了MessageListener接口,需要定义onMessage事件方法。

一个消息消费者的例子:

package myjms;

import java.util.*;

import javax.naming.*;

import javax.jms.*;

public class MessageReciever

implements MessageListener {

public void onMessage(Message message) {

if (message instanceof TextMessage) {

TextMessage textMessage = (TextMessage) message;

try {

System.out.println("Message content is:" + textMessage.getText());

}

catch (JMSException e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

MessageReciever msgRcvr=new MessageReciever();

String queueConnectionFactoryName = "myjmsconnectionfactory";

String queueName = "myjmsqueue";

boolean transacted = false;

int acknowledgementMode = Session.AUTO_ACKNOWLEDGE;

Properties properties = new Properties();

properties.put(Context.INITIAL_CONTEXT_FACTORY,

"weblogic.jndi.WLInitialContextFactory");

properties.put(Context.PROVIDER_URL, "t3://localhost:7001");

try {

Context context = new InitialContext(properties);

Object obj = context.lookup(queueConnectionFactoryName);

QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)

obj;

obj = context.lookup(queueName);

Queue queue = (Queue) obj;

QueueConnection queueConnection = queueConnectionFactory.

createQueueConnection();

queueConnection.start();

QueueSession queueSession =

queueConnection.createQueueSession(transacted,

acknowledgementMode);

QueueReceiver queueReceiver = queueSession.createReceiver(queue);

queueReceiver.setMessageListener(msgRcvr);

synchronized(msgRcvr){

msgRcvr.wait(100000);

}

if (queueReceiver != null) {

queueReceiver.close();

}

if (queueSession != null) {

queueSession.close();

}

if (queueConnection != null) {

queueConnection.close();

}

}

catch (Exception ex) {

ex.printStackTrace();

}

}

}

6、Message-driven Bean

MDB实际上就是一个消息消费者的客户端程序。它由AS EJB Container来管理。在JBUILDER生成一个MDB非常简单。

photoshop基础教程(新手入门)(免费)

Photosop的基础知识 一、Photosop是ADOBE公司推出的图形图像处理软件,功能强大,广泛应用于印刷、广告设计、封面制作、网页图像制作、照片编辑等领域。利用Photosop可以对图像进行各种平面处理。绘制简单的几何图形、给黑白图像上色、进行图像格式和颜色模式的转换。 二、Photosop7.0的启动与退出 1、启动Photoshop的方法: 单击开始/程序/Photoshop7.0即可启动.或者打开一个Photoshop文件也能够启动Photoshop. 2、退出Photoshop的方法: 单击关闭按钮或按下CTRL+Q组合键或ALT+F4组合键,都可以退出Photoshop。 三、Photoshop的窗口组成(标题栏、菜单栏、工具栏、工具箱、图像图口、控制面板、状态栏、Photoshop 桌面) 1、标题栏:位于窗口最顶端。 2、菜单栏:其中包括9个菜单。位于标题栏下方。 3、工具栏:位于菜单栏下方。可以随着工具的改变而改变。 4、工具箱:位于工具栏的左下方。 5、图像窗口:位于工具栏的正下方。用来显示图像的区域,用于编辑和修改图像。 6、控制面版:窗口右侧的小窗口称为控制面版。用于改变图象的属性。 7、状态栏:位于窗口底部,提供一些当前操作的帮助信息。 8、Photoshop桌面:Photoshop窗口的灰色区域为桌面。其中包括显示工具箱、控制面板和图像窗口。 四、图像窗口:图像窗口由(标题栏、图像显示区、控制窗口图标) 1、标题栏:显示图像文件名、文件格式、显示比例大小、层名称以及颜色模式。 2、图像显示区:用于编辑图像和显示图像。 3、控制窗口图标:双击此图标可以关闭图像窗口。单击此图标,可以打开一个菜单,选择其中的命令即可。 五、工具箱和工具栏

ps工具使用入门教程

PS工具使用入门教程 想要用好Photoshop,首先要了解Photoshop中最常用到的工具箱。Photoshop的工具箱就像是一个百宝箱,它里面提供了几乎所有能够辅助我们进行各种操作的有用的工具。 图1-1- 2 1、轻松学会基本工具的使用 工具箱中的工具大致可以分为:选择工具、绘图工具、路径工具、文字工具、切片工具以及其它类的工具,此外还有一些提供独立控制功能的按钮和选项。由于不同的工具使用起来的基本方法和原理都差不多,这里举一个简单的例子让大家对工具箱的使用有一个大致的了解,在这个例子中我们将使用“选择工具”和“绘图工具”来制作一个立体球,一起来看看怎么做的吧! 步骤1 新建一个图像文件 首先我们创建一个新的图像文件。执行【文件】|【新建】命令打开【新建图像】文件对话框,在“名称”中填入图像的“名称”为“立体球”;将“宽度”和“高度”都设置为400;分别在右边的下拉框中选择单位为“像素”;在“模式”中选择图像的色彩“模式”为我们通常使用的“RGB 颜色”模式(如图1-1-4所示)。其它为默认设置,单击【好】按钮,这样一个新的图像文件就建好了。

图1-1- 4 图1-1- 5 步骤2 建立一个圆形选区 接着来制作一个圆形选区。选区的制作是Photoshop中常用到的操作,通过设定选区我们可以指定对图像处理的范围。如本例将要制作一个实心的圆形,那么先用选区来指定这个圆形的范围,下面我们就来看看怎样使用【椭圆选框工具】来制作一个正圆选区。首先要选中【椭圆选框工具】,在一般情况下,我们可以通过用鼠标点击工具箱中相应的工具图标来选中我们需要的工具,可是在Photoshop中有些工具在默认状态下是隐藏起来的,比如椭圆选框工具。我们可以在相应的工具图标上按住鼠标左键并停留一会直到弹出一个选择列表(如图1-1-6所示),这时将鼠标移动到列表中相应的工具图标上点击,我们就可以选择那些被隐藏起来的工具了,效果如图1-1-7所示。 图1-1- 6 图1-1- 7

Photoshop基础入门教程

Photoshop入门教程 第一课: 这是一个PS高手的体会,希望能对大家有所启迪。 1.不要看到别人的作品第一句话就说:给个教程吧!你应该想这个是怎么做出来的。当你自己想出来,再对照别人的教程的时候,你就知道自己和别人的思路的差异 2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久PS,都是只对部分功能熟悉而已,不系统还是不够的 3.看help,不要因为他们很难而我们自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观 4.不要被蒙版,通道等词汇所迷惑;通道就是选区,呵呵 5.不要放过任何一个看上去很简单的小问题——他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远不等于会了PS 6.会用PS处理相片,并不说明你会设计; 7.学PS并不难,AI,CD等等也不过如此——难的是长期坚持实践和不遗余力的博览群书; 8.看再多PS的书,是学不全PS的,要多实践

浮躁的人容易问:我到底该学什么;——别问,学就对了; 浮躁的人容易问:PS有钱途吗;——建议你去抢银行; 浮躁的人容易说:我要中文版!我英文不行!——不行?学呀! 浮躁的人分两种:a)只观望而不学的人;只学而不坚持的人; 9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里; 10.学习PS最好的方法之一就是多练习; 11.在任何时刻都不要认为自己手中的书已经足够了; 12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; 13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; 14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件; 15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中; 16.不要漏掉书中任何一个练习——请全部做完并记录下思路; 17.当你用PS到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和工作; 18.别心急,用PS确实不容易;水平是在不断的实践中完善和发展的;

ps基础教程

一、魔术棒法——最直观的方法 适用范围:图像和背景色色差明显,背景色单一,图像边界清晰。 方法意图:通过删除背景色来获取图像。 方法缺陷:对散乱的毛发没有用。 使用方法:1、点击“魔术棒”工具; 2、在“魔术棒”工具条中,在“连续”项前打勾; 3、“容差”值填入“20”。(值可以看之后的效果好坏进行调节); 4、用魔术棒点背景色,会出现虚框围住背景色; 5、如果对虚框的范围不满意,可以先按CTRL+D取消虚框,再对上一步的“容差”值进行调节; 6、如果对虚框范围满意,按键盘上的DELE键,删除背景色,就得到了单一的图像。 二、色彩范围法——快速 适用范围:图像和背景色色差明显,背景色单一,图像中无背景色。 方法意图:通过背景色来抠图。 方法缺陷:对图像中带有背景色的不适用。 使用方法:1、颜色吸管拾取背景色; 2、点击菜单中“选择”功能里的“色彩范围”功能; 3、在“反相”项前打勾,确定后就选中图像了。 三、磁性索套法——方便、精确、快速和我常用的方法

适用范围:图像边界清晰。 方法意图:磁性索套会自动识别图像边界,并自动黏附在图像边界上。 方法缺陷:边界模糊处需仔细放置边界点。 使用方法:1、右击“索套”工具,选中“磁性索套”工具; 2、用“磁性索套”工具,沿着图像边界放置边界点,两点之间会自动产生一条线,并黏附在图像边界上。 3、边界模糊处需仔细放置边界点。 4、索套闭合后,抠图就完成了。 四、(索套)羽化法——粗加工 适用范围:粗略的抠图。 方法意图:粗略抠图,不求精确。 方法缺陷:图像边界不精确。 使用方法:1、点击“索套”工具; 2、用索套粗略地围住图像,边框各处要与图像边界有差不多的距离;这点能保证之后羽化范围的一致性,提高抠图的精确性; 3、右击鼠标,选择“羽化”功能; 4、调节羽化值,一般填入“20”,确定后就粗略选中图像了。羽化值的大小,要根据前一步边框与图像的间距大小调节。 五、(索套)钢笔工具法——最精确最花工夫的方法

Photoshop菜鸟入门教程(一)

Photoshop新手入门教程 Author: Mr.Chicken 一、最重要的一些概念 1.像素 很多同学在初次接触Photoshop这样的图像处理软件的时候常常对像素、分辨率这种东西感到困惑。我们来看看以下两幅图。 如果单纯问你哪一幅图像素更高时,你会说“左边那幅”,这说明你的头脑中,你对像素早已有了初步的概念。 我们可以这么认为,像素就是点。在计算机上,所有东西都是数字化的,所以我们看到的图像自然是由一个个点所构成的。 对于我们平常接触最多的位图(可以先不管位图是什么)来说,一幅图被制作出来之后,它的像素是固定的,比如400x400,它构造了一个长四百点,宽四百点的图形。 我们最熟悉不过的便是1024x768了,这在生活中经常见到,假设我们电脑的分辨率便是

1024x768,它表明我们的电脑屏幕长有1024个点,宽有768个点,至于点与点之间的距离是多少,我们就不管了,反正它足够小,根据电脑宽度为768个点,我们便能目测上述左边图形的宽所占点数为768/2,长所占点数也能估计出来。到这里,有的同学会说,那两幅图像素点数不管是长还是宽应该是一样啊。其实这么说是对的,对于左边的图来说,它原本就那么大,我没有对它进行其它操作,而右边的图则不同,它最原始的图像如下所示。 如图所示,这张图原本的宽所占的点估计只有768/4,根据你的电脑是768目测便可知道,但我却人为给它拉伸到了768/2,这样多余的点怎么补充呢?计算机会傻瓜式地进行填充,造成图像失真、模糊。 我们还有另外一种很简单的理解方法,上面的小图,原本像素点就少,携带的信息量本来就小,人为增大它所含像素点数,是没法增加它的信息量的,它的信息量只能减小不能增加,所以现在你就了解了为什么我们把一张图放大会模糊,但是缩小却时常还是显得很清晰。一张位图,信息量固定,所以你放大,按理说信息量要相应增大你才不会觉得别扭,然而它的信息量没变(电脑所自动增加的信息量几乎毫无用处,所以看作信息量没变),所以你看到的就模糊。相反,一张原图放在那里,你将它缩小,信息量应该相应减小,所以电脑按N个点逐次扔掉点不显示就行了,这样你看到的图仍清晰,但也不绝对就这样,但它总会比放大的效果好得多。 所以现在你知道了,对最上面两幅图来说,既可以说它们像素一样多,也可以说不一样,重点在于你是否把计算机自动增加的信息看作信息。 2.矢量图与位图

Photoshop 新手入门教程(免费但实用)

Photoshop新手入门教程 第一课: 这是一个PS高手的体会,希望能对大家有所启迪。 1.不要看到别人的作品第一句话就说:给个教程吧!你应该想这个是怎么做出来的。当你自己想出来,再对照别人的教程的时候,你就知道自己和别人的思路的差异 2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久PS,都是只对部分功能熟悉而已,不系统还是不够的 3.看help,不要因为他们很难而我们自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观 4.不要被蒙版,通道等词汇所迷惑;通道就是选区,呵呵 5.不要放过任何一个看上去很简单的小问题——他们往往并不 那么简单,或者可以引伸出很多知识点;不会举一反三你就永

远不等于会了PS 6.会用PS处理相片,并不说明你会设计; 7.学PS并不难,AI,CD等等也不过如此——难的是长期坚持实践和不遗余力的博览群书; 8.看再多PS的书,是学不全PS的,要多实践 浮躁的人容易问:我到底该学什么;——别问,学就对了; 浮躁的人容易问:PS有钱途吗;——建议你去抢银行; 浮躁的人容易说:我要中文版!我英文不行!——不行?学呀! 浮躁的人分两种:a)只观望而不学的人;只学而不坚持的人; 9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里; 10.学习PS最好的方法之一就是多练习; 11.在任何时刻都不要认为自己手中的书已经足够了;

12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; 13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; 14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件; 15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中; 16.不要漏掉书中任何一个练习——请全部做完并记录下思路; 17.当你用PS到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和工作; 18.别心急,用PS确实不容易;水平是在不断的实践中完善和发展的; 19.每学到一个PS难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;

ps教程PS快速入门教程

PS抠图方法. 一、魔术棒法——最直观的方法 适用范围:图像和背景色色差明显,背景色单一,图像边界清晰。 方法意图:通过删除背景色来获取图像。 方法缺陷:对散乱的毛发没有用。 使用方法:1、点击“魔术棒”工具; 2、在“魔术棒”工具条中,在“连续”项前打勾; 3、“容差”值填入“20”。(值可以看之后的效果好坏进行调节); 4、用魔术棒点背景色,会出现虚框围住背景色; 5、如果对虚框的范围不满意,可以先按CTRL+D取消虚框,再对上一步的“容差”值进行调节; 6、如果对虚框范围满意,按键盘上的DELE键,删除背景色,就得到了单一的图像。 二、色彩范围法——快速 适用范围:图像和背景色色差明显,背景色单一,图像中无背景色。 方法意图:通过背景色来抠图。 方法缺陷:对图像中带有背景色的不适用。 使用方法:1、颜色吸管拾取背景色; 2、点击菜单中“选择”功能里的“色彩范围”功能;

3、在“反相”项前打勾,确定后就选中图像了。 三、磁性索套法——方便、精确、快速和我常用的方法 适用范围:图像边界清晰。 方法意图:磁性索套会自动识别图像边界,并自动黏附在图像边界上。 方法缺陷:边界模糊处需仔细放置边界点。 使用方法:1、右击“索套”工具,选中“磁性索套”工具; 2、用“磁性索套”工具,沿着图像边界放置边界点,两点之间会自动产生一条线,并黏附在图像边界上。 3、边界模糊处需仔细放置边界点。 4、索套闭合后,抠图就完成了。 四、(索套)羽化法——粗加工 适用范围:粗略的抠图。 方法意图:粗略抠图,不求精确。 方法缺陷:图像边界不精确。 使用方法:1、点击“索套”工具; 2、用索套粗略地围住图像,边框各处要与图像边界有差不多的距离;这点能保证之后羽化范围的一致性,提高抠图的精确性; 3、右击鼠标,选择“羽化”功能; 4、调节羽化值,一般填入“20”,确定后就粗略选中图像了。羽化值的大小,要根据前一步边框与图像的间距大小调节。

ps新手入门教程

第一课:开场白与照片虚化处理 今天,我们开始了PHOTOSHOP的讲座。PHOTOSHOP是鼎鼎大名的绘图软件了,对我们非常有用。这不必我多说了。 我想说的是:学习PS跟学习FLASH有不同的地方。如果说FLASH是以动画原理为主,类似于数学公式或是物理公式,那么,PS就有点儿像学化学,无数的化学分子式,稍稍有所不同,效果就完全不一样了,就像是四氧化三铁和三氧化二铁,看上去差不多,性质完全不一样。PS的方式方法,条理性的少,感性化的多。FLASH是线多点少,而PS是线少点多,无数个知识点,如天空中的繁星一样闪闪发光,学不胜学。再打一个不太恰当的比方:FLASH是西药,PS是中药。三分党参二分甘草、三分甘草二分党参再加四分何首乌,效果完全不一样的。所以,学PS需要较强的记忆力。要在理解的基础上去记忆,需要我们记忆的内容特别多。不然的话,学了后面忘了前面,当时会做的效果,一段时间不做,又全忘记了。所以,我要特别提醒大家边学边记,努力记住。不光要记住知识点,同时也要记住一种效果的制作步骤与思路。当然,我在编写过程中,也会特别努力让大家容易记住,强调要记住的东西,反复实验,以加强记忆。 好了,开场白就说到这儿了。现在上第一课。为了提高大家的学习兴趣,我们先不去学那些枯燥乏味的概念和理论,我们来做一个有用的工作——照片的虚化处理。请看原图与经过处理的图。这样处理的目的是把四周杂乱的东西去掉,更加突出人物面部。虚化后,使得画面消去了四方的棱角,与周围更加和谐,看上去更舒服一些,更富有情调。在很多地方都用得上,所以非常值得一学。其实也并不难学。 这是最常见的一种方法。现在我们来制作,一边制作,一边学习新知识。 1、打开PS。在菜单“文件”下的“打开”,找到自己电脑硬盘上的原图后打开。 2、在工具栏上,按下第一排左边的虚线矩形按钮不放,(工具右下角有小三角的,表明这里面还有同类的工具), 会出来四种选框工具。点“椭圆选框工具”,然后到照片上画个椭圆。在照片上出现一个虚线画成的椭圆。这时,画得不准确没有关系,一会儿就来调整。这个虚线框就是选区,这是一个非常重要的概念。一定要记住它。今后几乎每一堂课都要提到“选区”的。选区就是我们要进行处理的范围。 3、到菜单“选择”下的“变换选区”点一下,在选区的四周出现了大方框(调整框),它有一个中心点与八个方点(调整点)。 4、现在可以拉动右边的小方点,会把椭圆拉宽;再拉下面的小方点,可以把椭圆拉长一点;拉四角的小方点,可以放大缩小框子;在框外移动鼠标,可以旋转调整框;点框内空白处,可以移动整个调整框 。这样,不断地调整,直到满意为止。不过,不要拉到离照片边缘太近的地方,需要留出一点余地。按一下回车,调整框就消失了。 5、现在选区的位置已经定好了。我们来制作边界的虚化效果。到菜单“选择”点“羽化”,

相关主题
相关文档
最新文档