As you said, putting the FQCN of the builder in the props file works,
and I would consider it the recommended method when working with custom
extensions(as you do not need to rebuild flume, and can distribute your
added sources/interceptors separately, and upgrade versions without
having to rebuild each time).
You can do this by just compiling your addons separately, putting the
flume jar on the classpath for your compiler. Then put the resulting
class files/jar file somewhere, and add that to the flume classpath in
flume-env.sh. Then putting the builder fqcn in the type field for the
interceptor will work and you didn't have to mess with the original
sources at all.
On 09/13/2012 04:21 PM, Ashutosh Panigrahi wrote:
Your custom interceptor should implement the interface Interceptor ,
(org.apache.flume.interceptor.Interceptor) and should write a builder
implementing Interceptor.Builder
Put your logic inside the intercept method of the interface (Populate
some headers).
If you are modifying the existing source code then , Register your
interceptor inside the enum InterceptorType. ( I modify the flume
source code itself , so has registered there). e.g The entry for
timestamp interceptor looks like this
*TIMESTAMP(org.apache.flume.interceptor.TimestampInterceptor.Builder.class)*
If you are extending the flume source , then i feel giving the FQCN of
the builder class in the properties file should work. Never tested
though.
Regards
Ashutosh
On 13-Sep-2012, at 12:21 PM, Prajakta Bavikar
<[email protected]
<mailto:[email protected]>> wrote:
It will be very helpful if I get some sample for custom interceptor.
Or some steps to follow..
-Prajakta
DISCLAIMER ========== This e-mail may contain privileged and
confidential information which is the property of Persistent Systems
Ltd. It is intended only for the use of the individual or entity to
which it is addressed. If you are not the intended recipient, you are
not authorized to read, retain, copy, print, distribute or use this
message. If you have received this communication in error, please
notify the sender and delete all copies of this message. Persistent
Systems Ltd. does not accept any liability for virus infected mails.