Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jasig.portal.services.stats
Class ThreadFiringStatsRecorder

    java.lang.Object
      org.jasig.portal.services.stats.ThreadFiringStatsRecorder

All Implemented Interfaces:
  IStatsRecorder, org.springframework.beans.factory.InitializingBean

    public final class ThreadFiringStatsRecorder

extends java.lang.Object
implements IStatsRecorder, org.springframework.beans.factory.InitializingBean

Stats recorder implementation which on receipt of each stats recording event fires a new thread tasked with notifying the child recorder of the event. This accomplishes processing stats recording in a new thread rather than in the thread in which the event was generated. This IStatsRecorder just fires the threads - it requires a target IStatsRecorder which the threads will invoke. You inject this target via the setTargetStatsRecorder() setter method.

Since:
  uPortal 2.5.1
Version:
  $Revision: 1.1.2.1 $ $Date: 2005/07/15 21:25:39 $

Field Summary
`private org.apache.commons.logging.Log` | `log`
`private IStatsRecorder` | `targetStatsRecorder`
`private edu.emory.mathcs.backport.java.util.concurrent.ExecutorService` | `threadPool`

Constructor Summary
`ThreadFiringStatsRecorder(int initialThreads, int maxThreads, int threadPriority)` Constructor specifying configurating of our thread pool.

Method Summary
`void` | `afterPropertiesSet()`
`private void` | `executeStatsRecorderEvent(StatsRecorderWorkerTask task)`
`IStatsRecorder` | `getTargetStatsRecorder()` Get the target IStatsRecorder which the threads we fire will invoke when they awake.
`void` | `recordChannelAddedToLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)` Called when a channel is being added to a user layout
`void` | `recordChannelDefinitionModified(IPerson person, ChannelDefinition channelDef)` Called when a user modifies an existing channel
`void` | `recordChannelDefinitionPublished(IPerson person, ChannelDefinition channelDef)` Called when a user publishes a channel
`void` | `recordChannelDefinitionRemoved(IPerson person, ChannelDefinition channelDef)` Called when a user removes an existing channel
`void` | `recordChannelInstantiated(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)` Called when a channel is being instantiated
`void` | `recordChannelMovedInLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)` Called when a channel is being moved in a user layout
`void` | `recordChannelRemovedFromLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)` Called when a channel is being removed from a user layout
`void` | `recordChannelRendered(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)` Called when a channel is being rendered
`void` | `recordChannelTargeted(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)` Called when a channel is being targeted
`void` | `recordChannelUpdatedInLayout(IPerson person, UserProfile profile, IUserLayoutChannelDescription channelDesc)` Called when a channel is being updated in a user layout
`void` | `recordFolderAddedToLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)` Called when a folder is being added to a user layout
`void` | `recordFolderMovedInLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)` Called when a folder is being moved in a user layout
`void` | `recordFolderRemovedFromLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)` Called when a folder is being removed from a user layout
`void` | `recordFolderUpdatedInLayout(IPerson person, UserProfile profile, IUserLayoutFolderDescription folderDesc)` Called when a folder is being updated in a user layout
`void` | `recordLogin(IPerson person)` Called when user authenticates successfully.
`void` | `recordLogout(IPerson person)` Called when user logs out.
`void` | `recordSessionCreated(IPerson person)` Called when a new session is created for a user.
`void` | `recordSessionDestroyed(IPerson person)` Called when the user's session is destroyed.
`void` | `setTargetStatsRecorder(IStatsRecorder targetStatsRecorder)` Set the child IStatsRecorder which the threads we fire will invoke when they awake.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### log

    private org.apache.commons.logging.Log log

### targetStatsRecorder

    private IStatsRecorder targetStatsRecorder

### threadPool

    private edu.emory.mathcs.backport.java.util.concurrent.ExecutorService threadPool

Constructor Detail

### ThreadFiringStatsRecorder

    public ThreadFiringStatsRecorder(int initialThreads,
                                     int maxThreads,
                                     int threadPriority)

  Constructor specifying configurating of our thread pool.

  Parameters:
    `initialThreads` - initial number of threads in the thread pool
    `maxThreads` - maximum number of threads to allow in the thread pool
    `threadPriority` - priority for the threads.

Method Detail

### recordLogin

    public void recordLogin(IPerson person)

  Description copied from interface: `IStatsRecorder`
  Called when user authenticates successfully.

  Specified by:
    `recordLogin` in interface `IStatsRecorder`
  Parameters:
    `person` - the IPerson object

### recordLogout

    public void recordLogout(IPerson person)

  Description copied from interface: `IStatsRecorder`
  Called when user logs out.

  Specified by:
    `recordLogout` in interface `IStatsRecorder`
  Parameters:
    `person` - the IPerson object

### recordSessionCreated

    public void recordSessionCreated(IPerson person)

  Description copied from interface: `IStatsRecorder`
  Called when a new session is created for a user.

  Specified by:
    `recordSessionCreated` in interface `IStatsRecorder`
  Parameters:
    `person` - the IPerson object

### recordSessionDestroyed

    public void recordSessionDestroyed(IPerson person)

  Description copied from interface: `IStatsRecorder`
  Called when the user's session is destroyed. This occurs when the user logs out or his/her session simply times out.

  Specified by:
    `recordSessionDestroyed` in interface `IStatsRecorder`
  Parameters:
    `person` - the IPerson object

### recordChannelDefinitionPublished

    public void recordChannelDefinitionPublished(IPerson person,
                                                 ChannelDefinition channelDef)

  Description copied from interface: `IStatsRecorder`
  Called when a user publishes a channel

  Specified by:
    `recordChannelDefinitionPublished` in interface `IStatsRecorder`
  Parameters:
    `person` - the person pubishing the channel
    `channelDef` - the channel being published

### recordChannelDefinitionModified

    public void recordChannelDefinitionModified(IPerson person,
                                                ChannelDefinition channelDef)

  Description copied from interface: `IStatsRecorder`
  Called when a user modifies an existing channel

  Specified by:
    `recordChannelDefinitionModified` in interface `IStatsRecorder`
  Parameters:
    `person` - the person modifying the channel
    `channelDef` - the channel being modified

### recordChannelDefinitionRemoved

    public void recordChannelDefinitionRemoved(IPerson person,
                                               ChannelDefinition channelDef)

  Description copied from interface: `IStatsRecorder`
  Called when a user removes an existing channel

  Specified by:
    `recordChannelDefinitionRemoved` in interface `IStatsRecorder`
  Parameters:
    `person` - the person removing the channel
    `channelDef` - the channel being removed

### recordChannelAddedToLayout

    public void recordChannelAddedToLayout(IPerson person,
                                           UserProfile profile,
                                           IUserLayoutChannelDescription channelDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a channel is being added to a user layout

  Specified by:
    `recordChannelAddedToLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person adding the channel
    `profile` - the profile of the layout to which the channel is added
    `channelDesc` - the channel being subscribed to

### recordChannelUpdatedInLayout

    public void recordChannelUpdatedInLayout(IPerson person,
                                             UserProfile profile,
                                             IUserLayoutChannelDescription channelDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a channel is being updated in a user layout

  Specified by:
    `recordChannelUpdatedInLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person updating the channel
    `profile` - the profile of the layout in which the channel is updated
    `channelDesc` - the channel being updated

### recordChannelMovedInLayout

    public void recordChannelMovedInLayout(IPerson person,
                                           UserProfile profile,
                                           IUserLayoutChannelDescription channelDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a channel is being moved in a user layout

  Specified by:
    `recordChannelMovedInLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person moving the channel
    `profile` - the profile of the layout in which the channel is moved
    `channelDesc` - the channel being moved

### recordChannelRemovedFromLayout

    public void recordChannelRemovedFromLayout(IPerson person,
                                               UserProfile profile,
                                               IUserLayoutChannelDescription channelDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a channel is being removed from a user layout

  Specified by:
    `recordChannelRemovedFromLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person removing the channel
    `profile` - the profile of the layout to which the channel is removed
    `channelDesc` - the channel being removed from a user layout

### recordFolderAddedToLayout

    public void recordFolderAddedToLayout(IPerson person,
                                          UserProfile profile,
                                          IUserLayoutFolderDescription folderDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a folder is being added to a user layout

  Specified by:
    `recordFolderAddedToLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person adding the folder
    `profile` - the profile of the layout to which the folder is added
    `folderDesc` - the folder being subscribed to

### recordFolderUpdatedInLayout

    public void recordFolderUpdatedInLayout(IPerson person,
                                            UserProfile profile,
                                            IUserLayoutFolderDescription folderDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a folder is being updated in a user layout

  Specified by:
    `recordFolderUpdatedInLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person updating the folder
    `profile` - the profile of the layout in which the folder is updated
    `folderDesc` - the folder being updated

### recordFolderMovedInLayout

    public void recordFolderMovedInLayout(IPerson person,
                                          UserProfile profile,
                                          IUserLayoutFolderDescription folderDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a folder is being moved in a user layout

  Specified by:
    `recordFolderMovedInLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person moving the folder
    `profile` - the profile of the layout in which the folder is moved
    `folderDesc` - the folder being moved

### recordFolderRemovedFromLayout

    public void recordFolderRemovedFromLayout(IPerson person,
                                              UserProfile profile,
                                              IUserLayoutFolderDescription folderDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a folder is being removed from a user layout

  Specified by:
    `recordFolderRemovedFromLayout` in interface `IStatsRecorder`
  Parameters:
    `person` - the person removing the folder
    `profile` - the profile of the layout to which the folder is removed
    `folderDesc` - the folder being removed from a user layout

### recordChannelInstantiated

    public void recordChannelInstantiated(IPerson person,
                                          UserProfile profile,
                                          IUserLayoutChannelDescription channelDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a channel is being instantiated

  Specified by:
    `recordChannelInstantiated` in interface `IStatsRecorder`
  Parameters:
    `person` - the person instantiating the channel
    `profile` - the profile of the layout in which this channel is instantiated
    `channelDesc` - the channel being instantiated

### recordChannelRendered

    public void recordChannelRendered(IPerson person,
                                      UserProfile profile,
                                      IUserLayoutChannelDescription channelDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a channel is being rendered

  Specified by:
    `recordChannelRendered` in interface `IStatsRecorder`
  Parameters:
    `person` - the person rendering the channel
    `profile` - the profile of the layout in which this channel is rendered
    `channelDesc` - the channel being rendered

### recordChannelTargeted

    public void recordChannelTargeted(IPerson person,
                                      UserProfile profile,
                                      IUserLayoutChannelDescription channelDesc)

  Description copied from interface: `IStatsRecorder`
  Called when a channel is being targeted

  Specified by:
    `recordChannelTargeted` in interface `IStatsRecorder`
  Parameters:
    `person` - the person interacting with the channel
    `profile` - the profile of the layout in which this channel resides
    `channelDesc` - the channel being targeted

### executeStatsRecorderEvent

    private void executeStatsRecorderEvent(StatsRecorderWorkerTask task)

### getTargetStatsRecorder

    public IStatsRecorder getTargetStatsRecorder()

  Get the target IStatsRecorder which the threads we fire will invoke when they awake.

  Returns:
    Returns the targetStatsRecorder.

### setTargetStatsRecorder

    public void setTargetStatsRecorder(IStatsRecorder targetStatsRecorder)

  Set the child IStatsRecorder which the threads we fire will invoke when they awake.

  Parameters:
    `targetStatsRecorder` - The targetStatsRecorder to set.

### afterPropertiesSet

    public void afterPropertiesSet()
                            throws java.lang.Exception

  Specified by:
    `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
  Throws:
    `java.lang.Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD