I've been trying to get up and running the HBase component, but ran into issues:
After running around in circles for a bit, this works: from("direct:hbaseConsumer") .setHeader("CamelHBaseValue", simple("Test Value", String.class)) .setHeader("CamelHBaseRowId", simple("${random(10000)}",String.class)) .setHeader("CamelHBaseFamily", simple("stats",String.class)) .setHeader("CamelHBaseQualifier", simple("execute_time",String.class)) .to("hbase:session?operation=CamelHBasePut"); This doesn't work (but according to the docs here <http://camel.apache.org/hbase.html>, I would expect it to work). The result is that it inserts a Row, but the value for stats/execute_time is null: from("direct:hbaseConsumer") .setHeader("CamelHBaseValue", simple("Test Value", String.class)) .setHeader("CamelHBaseRowId", simple("${random(10000)}",String.class)) .to("hbase:session?operation=CamelHBasePut&family=stats&qualifier=execute_time"); I tried to debug the problem, and it seems that the HBaseCell object is created, but not added to the row. This seems to be caused by the fact that we we're only looking for the family and qualifier in the headers, but we don't use the URI default if not present in the headers. This happens in HeaderMappingStrategy.resolveRow: String columnFamily = (String) message.getHeader(HbaseAttribute.HBASE_FAMILY.asHeader(index)); String columnName = (String) message.getHeader(HbaseAttribute.HBASE_QUALIFIER.asHeader(index)); ... if (columnFamily != null && columnName != null) { ... hRow.getCells().add(hCell); } Then, at some point in the code, a new cell (with a null value) is added to complete all of the missing family/qualifier pairs that were defined in the URL. Does this sound like a bug, or am I doing something wrong? Thanks, Andres