小编yaw*_*awn的帖子

从Sinatra/Rack应用程序流式传输数据

我试图从Ruby(1.9.1p378)Sinatra(1.0)Rack(1.2.1)应用程序流文本数据(XML/JSON).建议的解决方案(例如,有没有办法将html刷新到Sinatra中的线路)似乎不起作用 - 当我产生某些无限流的元素(例如来自%w(foo bar).cycle)时,服务器就会阻塞.我试过webrickthin作为服务器.

有关完成此任务的任何建议吗?我应该使用http://sinatra.rubyforge.org/api/classes/Sinatra/Streaming.html,如果是这样,我将如何在我的应用程序中使用它?

ruby rack sinatra

22
推荐指数
4
解决办法
9495
查看次数

Spring JDBC支持和大型数据集

当使用各种JDBC模板方法之一时,我对如何迭代/滚动大型结果集(不适合内存)感到困惑.即使没有直接暴露Iterable接口,我至少也会期望在查询执行时调用RowCallbackHandler的实例,不是在它完成之后(或堆overfloats).

我确实看过这个(虽然在精神上类似于这篇关于堆栈溢出的帖子,但我没有改变任何内容)和春季论坛中的这篇文章.后者似乎建议在游标获取数据时确实应该调用回调处理程序.然而,我的测试显示没有这样的行为

该数据库是Oracle10g.我使用的是11.1.0.7.0-Production驱动程序和Spring 2.5.6.SEC01.任何人都想知道如何迭代结果集,最好是保持RowMapper等的映射逻辑?

java oracle spring jdbc

19
推荐指数
3
解决办法
2万
查看次数

远程jvisualvm会话不支持CPU和分析

在监视远程应用程序时(使用jstatd)我既不能分析也不能监视CPU消耗.堆监控(假设我不使用G1)有效.jvisualvm提供消息"此JVM不支持".在CPU图形窗口中.

我的设置中是否有任何遗漏?谷歌的结果很少.

本地环境(Mac OS X 10.6):

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)
Run Code Online (Sandbox Code Playgroud)

远程环境(Linux版本2.6.16.27-0.9-smp(gcc版本4.1.0(SUSE Linux))):

java version "1.6.0_16" Java(TM) SE
Runtime Environment (build
1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

本地监控按宣传方式工作.

java jmx jvisualvm

12
推荐指数
1
解决办法
2万
查看次数

Oracle CLOB性能

我正在使用JDBC(使用最新的驱动程序和UCP作为DataSource)对Oracle 10g运行查询,以便检索CLOB(平均20k字符).然而,性能似乎非常糟糕:批量检索100个LOB平均需要4个.从我的观察来看,该操作既不是I/O也不是CPU,也不是网络约束.

我的测试设置如下:

PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource();
dataSource.setConnectionFactoryClassName("...");
dataSource.setConnectionPoolName("...");
dataSource.setURL("...");
dataSource.setUser("...");
dataSource.setPassword("...");

dataSource.setConnectionProperty("defaultRowPrefetch", "1000");
dataSource.setConnectionProperty("defaultLobPrefetchSize", "500000");

final LobHandler handler = new OracleLobHandler();
JdbcTemplate j = new JdbcTemplate(dataSource);

j.query("SELECT bigClob FROM ...",

        new RowCallbackHandler() {

            public void processRow(final ResultSet rs) throws SQLException {

                String result = handler.getClobAsString(rs, "bigClob");

            }

        });

}
Run Code Online (Sandbox Code Playgroud)

我尝试了获取大小但无济于事.难道我做错了什么?有没有办法在使用JDBC时加快CLOB检索?

oracle performance spring jdbc lob

9
推荐指数
4
解决办法
2万
查看次数

标签 统计

java ×2

jdbc ×2

oracle ×2

spring ×2

jmx ×1

jvisualvm ×1

lob ×1

performance ×1

rack ×1

ruby ×1

sinatra ×1