blob: 74a1ed3123d7288f022540d284c8cd40437358f4 [file] [log] [blame]
/**
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdlib.h>
#include "amqcs.h"
int die(int exitCode, const char *message, apr_status_t reason) {
char msgbuf[80];
apr_strerror(reason, msgbuf, sizeof(msgbuf));
fprintf(stderr, "%s: %s (%d)\n", message, msgbuf, reason);
exit(exitCode);
return reason;
}
static void terminate(void)
{
apr_terminate();
}
int main(int argc, char *argv[])
{
apr_status_t rc;
amqcs_connection *connection;
apr_pool_t *pool;
amqcs_connect_options connect_options;
memset(&connect_options, 0, sizeof(connect_options));
strcpy(connect_options.hostname, "127.0.0.1");
connect_options.port = 61616;
setbuf(stdout, NULL);
rc = apr_initialize();
if( rc!=APR_SUCCESS )
return rc;
atexit(terminate);
rc = apr_pool_create(&pool, NULL);
rc==APR_SUCCESS || die(-2, "Could not allocate pool", rc);
fprintf(stdout, "Connecting......");
rc=amqcs_connect( &connection, &connect_options, pool);
rc==APR_SUCCESS || die(-2, "Could not connect", rc);
fprintf(stdout, "OK\n");
fprintf(stdout, "Sending message.");
{
char *buffer = "Hello World!";
ow_ActiveMQQueue *dest;
ow_ActiveMQTextMessage *message = ow_ActiveMQTextMessage_create(pool);
message->content = ow_byte_array_create_with_data(pool,sizeof(buffer),buffer);
dest = ow_ActiveMQQueue_create(pool);
dest->physicalName = ow_string_create_from_cstring(pool,"TEST.QUEUE");
rc = amqcs_send(connection, (ow_ActiveMQDestination*)dest, (ow_ActiveMQMessage*)message, 1,4,0,pool);
rc==APR_SUCCESS || die(-2, "Could not send message", rc);
}
fprintf(stdout, "OK\n");
fprintf(stdout, "Disconnecting...");
rc=amqcs_disconnect(&connection);
rc==APR_SUCCESS || die(-2, "Could not disconnect", rc);
fprintf(stdout, "OK\n");
apr_pool_destroy(pool);
return 0;
}