Apache Qpid (1) -- build

http://qpid.apache.org/index.html

我的运行环境 windows 7 x64

1. 安装并运行c++ broker Windows installer

1) 下载 C++ broker windows installer

http://www.apache.org/dist/qpid/0.5-windows/qpidc-0.5.msi

2) 创建目录: C:\TEMP\

3) 控制台运行:

"C:\Program Files (x86)\Apache\qpidc-0.5\bin\qpidbroker.exe" --auth no --data-dir C:\TEMP\QPIDD.DATA

option --auth no 无认证


编译client 源代码并测试

check out source code

https://svn.apache.org/repos/asf/qpid/trunk/qpid


2. C++ client sample

full build 需要的包太多, 所以只build了C++的sample 项目

1) 安装boost 1.40

http://www.boostpro.com/download/boost_1_40_setup.exe

安装选择

a. VS 9 support

b. 所有的运行库

c. 选择package: thread, program option, 和 date time

2) 设置VS的C++工作目录

include: C:\Program Files (x86)\Apache\qpidc-0.5\include

lib: C:\Program Files (x86)\Apache\qpidc-0.5\bin

3) 从VS中打开\QPID\cpp\examples\examples.sln

4) 在项目选项: C++->general->additional include directory 中删除

5) build

*gmf-agent build 失败, 但是其他项目都没问题, 而且测试可以过


3. JAVA client

1) 安装 jdk 6.0 update 17

2) 安装 apache-ant-1.7.1

3) 从控制台进入\QPID\java,并运行

ant


4. C# client

1) 安装 jdk 6.0 update 17

2) 安装 apache-ant-1.7.1

3) 从控制台进入\QPID\dotnet\Qpid.Common\,并运行

ant

4) 修改(我拿到的source code 以下三个文件有非法字符)

\QPID\dotnet\TestClient\TestClient.csproj

\QPID\dotnet\TopicListener\TopicListener.csproj

\QPID\dotnet\TopicPublisher\TopicPublisher.csproj

<Project DefaultTargets="Build"

5) 从VS打开\QPID\dotnet\Qpid.NET.sln, build


5. C# client example

1) 安装 jdk 6.0 update 17

2) 安装 apache-ant-1.7.1

3) 从控制台进入\QPID\dotnet\client-010\gentools\

4) 修改 build.xml, jython-version.jar to jython-2.5.0.jar

5) ant

6) 打开\QPID\dotnet\client-010\client\client.sln, build


6. PYTHON

trunk code 费了很大劲也没成功运行起来 

开始使用的是PYTHON3.1, 失败(和2.6版本的差异太大了,升级python 的那帮家活根本就没考虑和以前版本兼容)

后来换成PYTHON 2.6,又失败(貌似文件存取权限的问题,不过没找到解决方案)

最后把source code 换成0.5 版本的,下面写一下步骤

1) 安装python 2.6.4

2) 设置环境变量 PYTHONPATH = %PYTHONPATH%;<PROJECT>\qpid-0.5\python\;

3) 修改\qpid-0.5\python\qpid\connection.py, 禁止SSL检查

line 58 - 61 为,

def sslwrap(sock):
#if isinstance(sock, socket.SSLType):
# return SSLWrapper(sock)
#else:
return sock

4) 修改\qpid-0.5\python\qpid\delegates.py, 禁止os.getppid()调用

line 149 为

  "qpid.client_ppid": 0}

5) 运行exampe code

posted @ 2009-11-09 10:12  史莱姆  阅读(2850)  评论(1编辑  收藏  举报