我有一条简单的骆驼路线。它轮询一个目录,读取一个文本文件并逐行分割文件的内容。然后它转换每一行(现在的字符数比原始行少)并将转换后的行(消息)聚合成一条写入 CSV 文件的消息。我正在使用 JdbcAggregationRepository (camel-sql-3.0.0),数据库是 Oracle 12C。
问题在于,如果文件大小为 1.67 KB 且仅包含 3 行(所有行的字符数或多或少相同),Oracle 12C 将使用 2 MB TABLESPACE 将聚合的 EXCHANGE(LOB 列)存储在表中:“存储库”和“repository_completed”组合在一起。
在包含 10,000 行的文件 (5.44 MB) 的情况下,进一步观察到了对 TABLESPACE 的这种需求,这需要 Oracle 12C 中近 10 GB 的 TABLESPACE 才能使 JdbcAggregationRepository 正常工作。
这完全是 Oracle 12C LOB 处理问题,还是 Camel (3.0.0) 开箱即用提供的 JdbcAggregationRepository 有一些错误?任何人都面临过这个巨大的 TABLESPACE 要求的问题 - 意味着它是一个已知问题吗?