POP_1990FromSTATESWhereSTATE=NY",idColumn,"S_GEOMETRY",null,RenditionType.none,null,RenditionType.none,CoordSys.longLatWGS84,2);
//CreatetheRemoteDataproviderneededtoaccesstheData
MapXtremeDataProviderRefmxtDPRef=newMapXtremeDataProviderRef(oraSoDPHelper,mapXtremeURL);
//assignittoMapJ-notegetLayers()
m_myMap.getLayers().add(mxtDPRef,oraSoTDHelper,"OraSoLayer");
1连接缓冲池
MapXtreme使用连接缓冲池,可以创建一组的连接,这些连接可以被有效的重用,这要就不必费时费力为每个客户端的请求创建一个连接。
那么,MapXtreme中的连接缓冲池是如何工作的呢?不论是MapXtremeServlet还是MapJ使用连接缓冲池的方式都是一样的,JDBC从RDBMS取数据时都首先从连接缓冲池中查找连接,如果找到了一个可用的连接就直接用,否则创建一个新的连接。连接使用后再放回连接缓冲池。如果此时连接缓冲池已满,则关掉连接并释放资源。
对于MapXtremeServlet使用连接缓冲池的情况,如果在classpath中找到了miconnections.properties文件,就会使用连接缓冲池。该文件描述的连接在MapXtreme初始化时会被预启动,MapXtremeServlet实例销毁时连接自动关闭。
对于MapJ的应用,如果在Classpath中能找到miconnections.properties文件也会自动自动预先产生一个连接缓冲池。这种情况只能创建一个连接缓冲池,该连接缓冲池被应用中的各个MapJ使用。MapXtreme需要从远程取数据,如执行查询,获取图层上的数据,数据地图等等,如果连接缓冲池存在,这个过程就会使用连接缓冲池。另外,MapJ也可以使用MIConnectionPoolManager在运行时创建另外一个连接缓冲池。程序退出,调用MIConnectionPoolManager的dispose方法可以关闭连接。
2配置JDBC连接
通过miconnections.properties可以管理连接缓冲池,可以在文件中设置多个连接缓冲池。每个连接缓冲池需要设置以下几项,如:预启动连接的个数,连接缓冲池的最大连接数,连接超时时间等。下面是一个例子:
Connection1_name=ProjectMaps
Connection1_driver=oracle.jdbc.driver.OracleDriver
Connection1_url=jdbc:oracle:thin:@hostmachine:port:sid
Connection1_user=mapxtreme
Connection1_password=secret
Connection1_is_xy=false
Connection1_prestart=4
Connection1_max=15
Connection1_timeout=300
Connection1_prefetch=75
其中,第六句描述连接是否有空间数据(注,必须用两个连接缓冲池连接x/y坐标和空间数据),最后一句描述了prefetch的值。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-27888-17.html
可以去日本本土附近12海里巡航下
烊烊棒棒哒你就是我们心中的小王子
永远挺你