Message msg = session.get().createTextMessage(hCatEventMessage.toString()); msg.setStringProperty(HCatConstants.HCAT_EVENT, hCatEventMessage.getEventType().toString()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_VERSION, messageFactory.getVersion()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_FORMAT, messageFactory.getMessageFormat());
switch (HCatEventMessage.EventType.valueOf(eventTypeString)) { case CREATE_DATABASE: return getCreateDatabaseMessage(messageBody);
dep1.getTable(), partitionsList, System.currentTimeMillis()); Message msg = session.createTextMessage(jsonMsg.toString()); msg.setStringProperty(HCatConstants.HCAT_EVENT, HCatEventMessage.EventType.ADD_PARTITION.toString()); dep1.getTable(), partitionsList, System.currentTimeMillis()); msg = session.createTextMessage(jsonMsg.toString()); msg.setStringProperty(HCatConstants.HCAT_EVENT, HCatEventMessage.EventType.ADD_PARTITION.toString()); HCatAccessorService hcatService = Services.get().get(HCatAccessorService.class); hcatService.registerForNotification(dep1, "hcat.topic1", hcatHandler);
Message msg = session.get().createTextMessage(hCatEventMessage.toString()); msg.setStringProperty(HCatConstants.HCAT_EVENT, hCatEventMessage.getEventType().toString()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_VERSION, messageFactory.getVersion()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_FORMAT, messageFactory.getMessageFormat());
switch (HCatEventMessage.EventType.valueOf(eventTypeString)) { case CREATE_DATABASE: return getCreateDatabaseMessage(messageBody);
Message msg = session.get().createTextMessage(hCatEventMessage.toString()); msg.setStringProperty(HCatConstants.HCAT_EVENT, hCatEventMessage.getEventType().toString()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_VERSION, messageFactory.getVersion()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_FORMAT, messageFactory.getMessageFormat());
Message msg = session.get().createTextMessage(hCatEventMessage.toString()); msg.setStringProperty(HCatConstants.HCAT_EVENT, hCatEventMessage.getEventType().toString()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_VERSION, messageFactory.getVersion()); msg.setStringProperty(HCatConstants.HCAT_MESSAGE_FORMAT, messageFactory.getMessageFormat());
"\"partitions\" : [{ \"dt\" : \"2012_01_01\", \"grid\" : \"AB\" }]" + "}"); msg.setStringProperty(HCatConstants.HCAT_EVENT, HCatEventMessage.EventType.DROP_PARTITION.toString()); assertTrue(logMsg.contains(HCatEventMessage.EventType.DROP_PARTITION.toString())); msg.setStringProperty(HCatConstants.HCAT_EVENT, HCatEventMessage.EventType.DROP_TABLE.toString()); hcatHandler.process(msg); assertTrue(logMsg.contains(HCatEventMessage.EventType.DROP_TABLE.toString()));
/** * Method to construct HCatEventMessage from string. */ public HCatEventMessage getHCatEventMessage(String eventTypeString, String messageBody) { switch (HCatEventMessage.EventType.valueOf(eventTypeString)) { case CREATE_DATABASE: return getCreateDatabaseMessage(messageBody); case DROP_DATABASE: return getDropDatabaseMessage(messageBody); case CREATE_TABLE: return getCreateTableMessage(messageBody); case ALTER_TABLE: return getAlterTableMessage(messageBody); case DROP_TABLE: return getDropTableMessage(messageBody); case ADD_PARTITION: return getAddPartitionMessage(messageBody); case ALTER_PARTITION: return getAlterPartitionMessage(messageBody); case DROP_PARTITION: return getDropPartitionMessage(messageBody); case INSERT: return getInsertMessage(messageBody); default: throw new IllegalArgumentException("Unsupported event-type: " + eventTypeString); } }
/** * Process JMS message produced by HCat. * * @param msg : to be processed */ @Override public void process(Message msg) { try { HCatEventMessage hcatMsg = MessagingUtils.getMessage(msg); if (hcatMsg.getEventType().equals(HCatEventMessage.EventType.ADD_PARTITION)) { // Parse msg components AddPartitionMessage partMsg = (AddPartitionMessage) hcatMsg; String db = partMsg.getDB(); String table = partMsg.getTable(); LOG.info("Partition available event: db [{0}] table [{1}] partitions [{2}]", db, table, partMsg.getPartitions()); List<Map<String, String>> partitions = partMsg.getPartitions(); for (int i = 0; i < partitions.size(); i++) { pdmService.partitionAvailable(this.server, db, table, partitions.get(i)); } } else { LOG.debug("Ignoring message of event type [{0}] ", hcatMsg.getEventType()); } } catch (Exception e) { LOG.warn("Error processing JMS message", e); } }
/** * Process JMS message produced by HCat. * * @param msg : to be processed */ @Override public void process(Message msg) { try { HCatEventMessage hcatMsg = MessagingUtils.getMessage(msg); if (hcatMsg.getEventType().equals(HCatEventMessage.EventType.ADD_PARTITION)) { // Parse msg components AddPartitionMessage partMsg = (AddPartitionMessage) hcatMsg; String db = partMsg.getDB(); String table = partMsg.getTable(); LOG.info("Partition available event: db [{0}] table [{1}] partitions [{2}]", db, table, partMsg.getPartitions()); List<Map<String, String>> partitions = partMsg.getPartitions(); for (int i = 0; i < partitions.size(); i++) { pdmService.partitionAvailable(this.server, db, table, partitions.get(i)); } } else { LOG.debug("Ignoring message of event type [{0}] ", hcatMsg.getEventType()); } } catch (Exception e) { LOG.warn("Error processing JMS message", e); } }
/** * Method to construct HCatEventMessage from string. */ public HCatEventMessage getHCatEventMessage(String eventTypeString, String messageBody) { switch (HCatEventMessage.EventType.valueOf(eventTypeString)) { case CREATE_DATABASE: return getCreateDatabaseMessage(messageBody); case DROP_DATABASE: return getDropDatabaseMessage(messageBody); case CREATE_TABLE: return getCreateTableMessage(messageBody); case ALTER_TABLE: return getAlterTableMessage(messageBody); case DROP_TABLE: return getDropTableMessage(messageBody); case ADD_PARTITION: return getAddPartitionMessage(messageBody); case ALTER_PARTITION: return getAlterPartitionMessage(messageBody); case DROP_PARTITION: return getDropPartitionMessage(messageBody); case INSERT: return getInsertMessage(messageBody); default: throw new IllegalArgumentException("Unsupported event-type: " + eventTypeString); } }