Can I split compressed files into json components in Camel via Spring DSL -


in nutshell, need take gzipped file containing json similar example, unzip (i know how that), each json object string , push amq popped webservice. i'm fine of 1 object, receiving file represents array. if array of strings or xml, see how camel processes it, don't see way split json. also, require streaming these files can large. edited try make request clearer, , provide sample json.

 [ {     "rickenbackerrepair": {         "estimateid": 22788411     },     "repairshop": {         "inspectionsite": {             "inspectiondate": ""         },         "repairfacility": {             "companyidcode": "",             "companyname": "",             "city": "",             "stateprovince": "",             "zippostalcode": "",             "country": ""         },         "repairinformation": {             "guitardateinshop": "",             "guitartimeinshop": "",             "authorizationmemo": "",             "guitartargetcompletiondate": "",             "guitartargetcompletiontime": "",             "guitarcompletiondate": "",             "guitarcompletiontime": ""         },         "locationofguitar": {             "city": "",             "stateprovince": "",             "zippostalcode": "",             "country": ""         }     },       "instrumentidentifier": {         "guitar": {             "claimrelated": {                 "primarypointofimpact": "",                 "secondarypointofimpact": ""             },             "identification": {                 "databaseguitarcode": "",                 "manufacturingstateprovince": "",                 "serialnumber": "",                 "guitarcondition": "",                 "productiondate": "",                 "year": "",                 "model": "",                 "guitartype": "",                 "bodystyle": "",                 "trimcode": "",                 "trimcolor": "",                 "optionslist": ""             }         }     },     "lin": [{         "internalcontrol": {             "lineindicator": ""         },         "part": {             "description": {                 "parttype": "",                 "descriptionjudgmentflag": "",                 "oempartnumber": "",                 "priceincludedindicator": "",                 "alternatepartindicator": "",                 "taxableflag": "",                 "databasepartprice": "",                 "actualpartprice": "",                 "pricejudgmentflag": "",                 "certifiedflag": "",                 "quantity": ""             },             "nonoemsupplier": {                 "companyidcode": "",                 "nonoempartnumber": "",                 "nonoemsupplieruseroverride": "",                 "nonoemsuppliermemo": ""             },             "adjustment": {                 "percent": "",                 "amount": ""             }         },         "labor": {             "description": {                 "type": "",                 "actualhours": "",                 "hoursjudgmentflag": "",                 "typejudgmentflag": ""             },             "miscsublet": {                 "amount": "",                 "subletflag": ""             }         }     }],      "stl": {         "subtotal": [{             "totaltype": "",             "totaltypecode": "",             "subtotaldetail": {                 "taxableamount": ""             }         }]     } }, {     "rickenbackerrepair": {         "estimateid": 22788412     },     "repairshop": {         "inspectionsite": {             "inspectiondate": ""         },         "repairfacility": {             "companyidcode": "",             "companyname": "",             "city": "",             "stateprovince": "",             "zippostalcode": "",             "country": ""         },         "repairinformation": {             "guitardateinshop": "",             "guitartimeinshop": "",             "authorizationmemo": "",             "guitartargetcompletiondate": "",             "guitartargetcompletiontime": "",             "guitarcompletiondate": "",             "guitarcompletiontime": ""         },         "locationofguitar": {             "city": "",             "stateprovince": "",             "zippostalcode": "",             "country": ""         }     },       "instrumentidentifier": {         "guitar": {             "claimrelated": {                 "primarypointofimpact": "",                 "secondarypointofimpact": ""             },             "identification": {                 "databaseguitarcode": "",                 "manufacturingstateprovince": "",                 "serialnumber": "",                 "guitarcondition": "",                 "productiondate": "",                 "year": "",                 "model": "",                 "guitartype": "",                 "bodystyle": "",                 "trimcode": "",                 "trimcolor": "",                 "optionslist": ""             }         }     },     "lin": [{         "internalcontrol": {             "lineindicator": ""         },         "part": {             "description": {                 "parttype": "",                 "descriptionjudgmentflag": "",                 "oempartnumber": "",                 "priceincludedindicator": "",                 "alternatepartindicator": "",                 "taxableflag": "",                 "databasepartprice": "",                 "actualpartprice": "",                 "pricejudgmentflag": "",                 "certifiedflag": "",                 "quantity": ""             },             "nonoemsupplier": {                 "companyidcode": "",                 "nonoempartnumber": "",                 "nonoemsupplieruseroverride": "",                 "nonoemsuppliermemo": ""             },             "adjustment": {                 "percent": "",                 "amount": ""             }         },         "labor": {             "description": {                 "type": "",                 "actualhours": "",                 "hoursjudgmentflag": "",                 "typejudgmentflag": ""             },             "miscsublet": {                 "amount": "",                 "subletflag": ""             }         }     }],      "stl": {         "subtotal": [{             "totaltype": "",             "totaltypecode": "",             "subtotaldetail": {                 "taxableamount": ""             }         }]     } } ] 

you should able use jsonpath expression split incoming message (file) , process each element individually.

<route>   <from uri="file://path" />   <split>     <jsonpath>$.</jsonpath>     <to uri="direct:dosomething">   </split> </route> 

Comments

Popular posts from this blog

xslt - Substring before throwing error -

Google Cloud Bigtable Durability/Availability Guarantees -

Android M doze mode and "native" posix socket freezing up -