# JournalStorageProviderAttribute

Package: [Microsoft.Orleans.Journaling](/orleans/docs/api/csharp/microsoft.orleans.journaling/) 10.0.0-alpha.1

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Journaling) | [Source](https://github.com/dotnet/orleans/blob/79873eb26a59742bc520fcae87c19fe7dc23c7df/src/Orleans.Journaling/JournalStorageProviderAttribute.cs#L16)

```csharp
public sealed class JournalStorageProviderAttribute : Attribute, IGrainPropertiesProviderAttribute
```

Selects the named journal storage provider used by a grain type's activation-scoped durable state manager.

## Remarks

All durable state in an activation shares the selected provider. Grain types without this attribute use [ProviderConstants](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.providers.providerconstants/). Recovery reads the selected provider's physical namespace. Changing the selection for existing journals requires a data migration or cutover strategy.

## Constructors

- [JournalStorageProviderAttribute(string)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalstorageproviderattribute/constructors/constructor-string-c282a34e/)

## Properties

- [ProviderName](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalstorageproviderattribute/properties/providername-da681f82/)

## Methods

- [Populate(IServiceProvider, Type, GrainType, Dictionary&lt;string, string&gt;)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalstorageproviderattribute/methods/populate-system-iserviceprovider-system-type-orleans-runtime-graintype-system-co-80ae2ffb/)
