我在一个与解析文本文件(应用 ETL 方法)相关的小型开发项目中。我创建了一个在我的本地机器上正确运行的演示代码,但是当我将它部署到 Apache Tomcat 容器时,它会产生很多与内存溢出、类型转换等相关的错误。
这是一般事实:
这是文件结构(注释指定每个单元格的数据类型和其他相关信息)。
请注意,RegisterType1每个客户仅重复一次,RegisterType2可以重复一次或多次,RegisterType3和RegisterType4重复一次。
另请注意,每种寄存器类型的长度都不同,即:RegisterType1 12 个字段,RegisterType2 10 个字段,依此类推。
正如我之前所说,我当前的解析器编码很糟糕,会产生很多错误。这是实际代码和这个(创建数据库连接和执行查询的类)。
这是一个需要解析的示例文本文件。
当前开发环境 平台:Java 6 容器:Tomcat 7 VPS 配置文件:RAM 1.7GB,存储:20GB,处理器:(Intel(R) Xeon(R) CPU X5650 @ 2.67GHz,24 核)。
实际问题:
- 表现不佳
- 内存溢出
- 解析错误:数据类型转换、字段之间的分隔符(分号)(例如:...Paris;Fran[semicolon here]ce;...)
我想创建一个高效、正确和高性能的解析器。
我需要一些关于这个话题的建议。哪个是创建好的解析器的最佳方法?
提前感谢您提供信息。
问候,