org.apache.flume.channel.jdbc
Class JdbcChannel

java.lang.Object
  extended by org.apache.flume.channel.AbstractChannel
      extended by org.apache.flume.channel.jdbc.JdbcChannel
All Implemented Interfaces:
Channel, Configurable, LifecycleAware, NamedComponent

@InterfaceAudience.Private
@InterfaceStability.Stable
public class JdbcChannel
extends AbstractChannel

A JDBC based channel implementation.

JdbcChannel is marked InterfaceAudience.Private because it should only be instantiated via a configuration. For example, users should certainly use JdbcChannel but not by instantiating JdbcChannel objects. Meaning the label Private applies to user-developers not user-operators. In cases where a Channel is required by instantiated by user-developers MemoryChannel should be used.


Constructor Summary
JdbcChannel()
          Instantiates a new JDBC Channel.
 
Method Summary
 void configure(Context context)
           Request the implementing class to (re)configure itself.
 Transaction getTransaction()
           
 void put(Event event)
          Puts the given event into the channel.
 void stop()
           Stops a service or component.
 Event take()
          Returns the next event from the channel if available.
 
Methods inherited from class org.apache.flume.channel.AbstractChannel
getLifecycleState, getName, setName, start, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JdbcChannel

public JdbcChannel()
Instantiates a new JDBC Channel.

Method Detail

put

public void put(Event event)
         throws ChannelException
Description copied from interface: Channel

Puts the given event into the channel.

Note: This method must be invoked within an active Transaction boundary. Failure to do so can lead to unpredictable results.

Parameters:
event - the event to transport.
Throws:
ChannelException - in case this operation fails.
See Also:
Transaction.begin()

take

public Event take()
           throws ChannelException
Description copied from interface: Channel

Returns the next event from the channel if available. If the channel does not have any events available, this method must return null.

Note: This method must be invoked within an active Transaction boundary. Failure to do so can lead to unpredictable results.

Returns:
the next available event or null if no events are available.
Throws:
ChannelException - in case this operation fails.
See Also:
Transaction.begin()

getTransaction

public Transaction getTransaction()
Returns:
the transaction instance associated with this channel.

stop

public void stop()
Description copied from interface: LifecycleAware

Stops a service or component.

Implementations should determine the result of any stop logic and effect the return value of LifecycleAware.getLifecycleState() accordingly.

Specified by:
stop in interface LifecycleAware
Overrides:
stop in class AbstractChannel

configure

public void configure(Context context)
Description copied from interface: Configurable

Request the implementing class to (re)configure itself.

When configuration parameters are changed, they must be reflected by the component asap.

There are no thread safety guarrantees on when configure might be called.

Specified by:
configure in interface Configurable
Overrides:
configure in class AbstractChannel


Copyright © 2009-2012 Apache Software Foundation. All Rights Reserved.