基于OpenStreetMap的地图服务器的搭建
GIS基础知识
GIS基本组件
- 地图数据库:提供地图数据,例如OSM的planet.osm可以导入PostgreSQL作为地图数据库
- 瓦片服务器:负责生成一系列的瓦片(tiles),这些瓦片通常为256像素的方块,瓦片组在一起形成地图。对于Google Map,…
11 years ago
17
7
使用Oracle Java Mission Control监控JVM运行状态
简介
Oracle Java Mission Control(以下称JMC)是一个集成到JVM(jdk7u40+)的性能剖析和诊断工具,相比起JProfiler之类的性能剖析工具,JMC更加简单易用,界面友好。
JMC使用了JVM内部特定的基于事件的接口,不…
阅读全文
11 years ago
0
29
Eclipse 4.3.2开发环境搭建
安装Eclipse 4.3.2
下载地址列表:http://www.eclipse.org/downloads/packages/release/Kepler/SR2
对于Java开发,建议选择:Eclipse IDE for Java EE Developers
如果同时需要使用BIRT进行报表开发,建议选择:Eclipse IDE for Java and Report De…
11 years ago
0
Tomcat知识集锦
常见问题
零散问题
One or more listeners failed to start
报错信息:
Artifact pems-web-manager:war exploded: Error during artifact deployment. See …
阅读全文
11 years ago
0
Ubuntu下使用NFS
NFS简介
网络文件系统(NFS)是一种分布式文件系统协议,最初由SUN公司在1984年发布。NFS使得客户端能够像访问本地文件一样,访问位于服务器上的文件。
使用NFS,特别是结合高速局域网时,可以获得以下优势:
- 降低本地工作站的磁盘消耗
- 在虚拟化场景下,让虚拟…
11 years ago
0
ActiveMQ知识集锦
常见问题
Setting clientID on a used Connection is not allowed
与Spring DMLC集成,进行持久化订阅时,会报此错误,报错的根源是:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@Override public void setClientID(String newClientID) throws JMSException { checkClosedOrFailed(); // false if (this.clientIDSet) { throw new IllegalStateException("The clientID has already been set"); } // true if (this.isConnectionInfoSentToBroker) { // 不允许在“已经使用”的连接上执行设置clientID的操作 throw new IllegalStateException("Setting clientID on a used Connection is not allowed"); } this.info.setClientId(newClientID); this.userSpecifiedClientID = true; ensureConnectionInfoSent(); } |
可以看到,状态isConnectionInfoSentToBroker变为true后,就不能再设置ClientID,修改此字段值的,只…
阅读全文
11 years ago
0
1
ActiveMQ代理网络无法连接的问题一例
环境说明:ActiveMQ 5.10.0,Windows Server 2008 R2。
最近开发人员在做基于ActiveMQ的数据同步测试时,其中的一台AMQ服务器一直无法连接到代理网络中,久久找不到原因。
我检查了一下配置,各ActiveMQ服务器… 阅读全文
11 years ago
0
基于CMS接口的ActiveMQ CPP客户端示例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#ifndef AMQUTILS_H_ #define AMQUTILS_H_ #include <cms/Connection.h> #include <cms/Session.h> #include <decaf/lang/Exception.h> using namespace decaf::lang; using namespace cms; namespace amqutils { inline void closeQuitely( Connection* conn, Session* session ) { if ( session ) try { session->close(); } catch ( Exception& e ) { } if ( conn ) try { conn->close(); } catch ( Exception& e ) { } } } #endif |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#ifndef PRODUCER_H_ #define PRODUCER_H_ #include <activemq/core/ActiveMQConnectionFactory.h> #include <boost/shared_ptr.hpp> #include <stdlib.h> #include <stdio.h> using namespace activemq; using namespace activemq::core; using namespace decaf; using namespace decaf::lang; using namespace decaf::util; using namespace decaf::util::concurrent; using namespace cms; using namespace std; using namespace boost; class Producer { private: boost::shared_ptr<ActiveMQConnectionFactory> amqf; Connection* connection; Session* session; public: Producer( string& uri, string& userName, string& password ); Producer( boost::shared_ptr<ActiveMQConnectionFactory> amqf ); virtual ~Producer(); virtual void init(); virtual void send( string& queueName, string& msg ); virtual void pub( string& topicName, string& msg ); }; #endif |
11 years ago
0